function reconstruct_cs(N, M)
	D=4;
	filename = 'compress.csv';

	%final reconstructed signal
	recon_s = [];

	%original signal
%	true_s=csvread('../script/ground.csv');
%	true_s=true_s(:,[2:size(true_s,2)-1]);
%	true_s=reshape(true_s', N*2, 1);
%	true_s=uint16(true_s);
%	true_s=typecast(true_s, 'uint32')


	% each packet entry is 2 byte, and we are supposed to work with 4 byte data
	% so for M record, we need to get M*4 bytes, which equals to M*4/2 entries
	row_needed = (M*2)/16;

	%rebuild received signal
	data=csvread(filename);
	
	% get number of rows, cols
	[rows cols]=size(data)


	%matrices
	[tmp psi inv_psi] = generateMatrixA(N,M,3,2);

	%this is for D=4
	m = zeros(1,N*D);
	ind = 1;
	for i=1:D:N*D
   	 m(i) = ind;
	    m(i+1) = ind;
   	 m(i+2) = ind;
	    m(i+3) = ind;
   	 ind = ind + 1;
	end	

	if (N==2048) & (M==512)
		p = [
			317 164 158 81 254 427 185 41 112 86 37 397 260 487 388 345 320 10 467  9 134 266 388 111 181 61 420 478 330 384 396 210 59 444 472 240 300 223 180 230 309 436 439 64 214 278 152 127 228 481 31 445 424 436 128 16 289 326 243 103 195 491  6 167 359 333 391 91 239 190 53 280 168 301 509 306 219 133 151 403 191 283 436 59 395 223 392 305 496 391 82 130 456  3 487 81 218 26 261 368 202 327 86 503 244 64 23 424 334 119 108 445 156 222 229 303 496 456 366 435 154 319 491 235 207 367 62 427 203 334 26 373 88 489 347 476 78 361 497 403 472 422 358 170 99 279 397 287 481 307  6 314 201 191 10 70 241 481 419 308 421 501 57 148 26 493 339 202 87 292 392 10 246 66 474 271 114 93 327 158 423 459 327 336 286 386 174 503 502 43 144 272 441 153 318 184 136 490 361 472 481 406 477 217 262 291 362 343 415 461 324 88 465 204 487 32 17 396  5 394 469 65 152 93  2 128 266 356 196 445 101 136 495 192 428 449 242 162 486 383 89 212 281 476 145 342 80 457 100 407 366 441 238 200 506 326 433 445 193 457 211 509 407 202 89 363 256 290 365 78 418 166 199 309 240 60 327 20 149 231 372 460 390 79 271 273 252 272 453 90 209 204 103 131 12 417 32 212 273 283 58 45 201 69 497 239 499  6 102 505 161 335 172 226 57 496 355 379 257 460 126 318 339 476 199 136 292 385 281 346 68 171 380 287 364 328 500 120  5 240 214 350 426 82 223 315 431 490 109 369 146 168 223 403 319 291 203 341 375 90 456 253 94 205 451 182 331 33 271 10 510 102 505 324 278 59 255 90 157 251 248 336 174 499 69 271 12 43 506 186 237 103 504 480 267 304 64 425 419 289 350 184 18 220 14 290 424 407 485 90 413 387 73 118 389 463 230 395 413 158 78 149 419 104 80 155 277 43 82 131 337 300 366 33 262 356 442 421 79 505 298 82 61 500 36 392 374 147 158 403 183 478 288 267 442 104 34 52 183 271 391 382 35 399 98 296 321 213 132 493 367 466 277 124 145 497 53 389 230 358 137 448 124 288 198 471 254 348 362 154 369 64 469 367 389 53 440 56 300 128 248 327 108 149 459 321 497 355 283 275 359 179 189 34 243 349 93 167 181 241 377 37 44 198 349 353 219 503 273 11 443 400 470 365  4 134 260 93 290 178 228 258 303 287 426 490 46 278 76 335 192 59 342 390 78 29 322 429 374 358 238 409 244 192 323 32 113 221 444 355 125 71 63 426 64 89 88 100 410 374 394 386 271 274 205 97 270 80 434 147 433 300 402 168 329 58 251 465 65 282 204 444 498 277 207 288 230 89 125 422 310 182 431 416 463 53 141 166 232 154 76  4 304 386 496 117 256 446 337 460 492 14 63 359 132 190 434 378 274 140 223 294 510 201 450 232 172 238 186 192 140 138 394 390 428 55 91 188 14 50 176 242 198 303 27 484 82 280 353 42 252 194 183 113 392 318 430 331 376 452 288 141 169 477 258 348 276 468 405 464 380 213 253 394 145 302 379 508 333 149 386 396 271 221 331 317 134 492 273  6 394 340 121 403 307 463 294 203 309 420 250 289  2 63 398 99 387 487 450 326 462 239 127 74 263 212 491 337 220 149 394 481 41 231 13 161 102 326 153 412 76 130 99 106 396 477 311 155 339 285 416 48 400 165 376 32 223 77 229 242 208 41 186 512  5 152 306 231 377 75 102 181 338 174 455 65 187 422 289 228 66 268 331 410 91 149 46 56 280 195 165 159 448 185 135 36 46 242 315 391 192 13 16 450 436 266 78 365 224 231 272 194 130 414 313  1 210  6 297 172 234 406 96 495 362 161 79 101 33 466 207 191 141 19 456 153 53 187 163 144 329 455 454 253 226 102 93 341 224 366 51 410 253 416 327 418 346 120 171 217 162 460 427 35 142 119 129 405 98 17 268 373 56 364 382 412 311 39 77 477 242 196 232 312 58 304 117 313 54 11 403 348 30 380 153 43 38 251 397 41 69 207 94 367 285 247 248 478 330 203 394 374 320 281 23 227 468 128 249 454 392 388 32 407 372 35 329 298 413 194 401 273 352 155 394 196 35 142 54 186 280 397 164 35 248 162 329 410 508 322 376 252 274 150 441 106 419 41 79 470 101 237 296 438 469 266 313 418 257 420  6 191  9 86 455 496 407 140 236 61 206 119 366 354 46 85 478 368 93 226 353 235 334 326 272 319 65 482 13 29 78 443 256 14 147 456 179 209 259 144 52 96 300 429 90 44 76 396 315 396 215 202 36 170 394 276 495 308 220 433 222 506 357 326 119 129 15  9 408 361 48 411 22 417 182 332 333 29 446 429 331 367 497 462 172 379 98 299 457 161 496 439 390 353 487 62 480 228 438 202 396 15 347 61 336 356 385 164 463 35 400 62 95 43 204 442 408 114 286 446 464 192 321 470  6 16 122 244 360 430 425 121 400 178 18 425 81 471 443 133 168 164 403 229 325 320 403 13 173 80 58 453 420 71 455 42 460 134 138 15 395 71 152 342 416 28 423 481 228 480 285 441 404 251 415 390 381 461 414 376 300 242 230 249 472 148 426 19 78 362 423 169 237 405 443 174 452 470 501 389 266 366 99 369 339 209 375 505 450 481 294 467 109 472 457 143 450 57 455 275 13 478 429 151 413 353 194 50 450 199 309 307 33 244  9 188 66 411 355 508 219 446 443 259 412 313 16 451 64 19 22 453 332 121 294 500 495 211 339 85 404 484 376 20 174 93 300 71 23 228 374 217 386 316 295 77  1 478 303 463 14 458 281 474 452 11 240 150 14 356 163 95 199 197 380 47 11 225 68 145 238 488 301 318 102 372 125 65 261 107 157 493 216 437 172 335 36 489 276 259 332 325 40 471 162 230 225 247 143 262 112 102 66 78 370 41 258 28 22 163 322 438 496 59  2 194 444 151 487 322 42 202 301 361 226 328 125 484 76 267 102 191 415 217 210 114 466 500 254  4 307 54 123 139 64 37 220 98 29 70 210 165 312 467  1 292 81 220 313 373 330 420 420 486 160 243 16 328 378 224 373 313 252 347 191 386 313 82 228 355 158 446 331 367 433 497 11 227  8 434 424 461 35 496 17 303 431 347 70 270 152 475 495 276 136 329 392 399 309 129 292 10 85 441 259 258 496 377 489 501 308 468 511 228 265 298 226 355 198 59 282 404 61 14 54 109 256 132 85 477 164 347 120 443 307 298 425 417 284 482 179 340 275 478 59 476 335 423 381 500 132  5 482 427 149 165 168 49 206 333 209 319 258 91 455 336 122  2 177 407 472 270 295 291 416 44 118 132 46 177 96 185 332 251 68 511 380 47 320 488 165 185 463 453 232  5 363 145 135  1 126 123 475 508 178 257 274 237 259 228 507 398 504 501 15 390 29 93 221 140  6 373 422 320 44 112 92 24 176 244 128 303 189 363 404 287 125 95 394 399 18 392 251 399 278 437 510 415 409 82 494 439 201 469 438 345 172 248 32 461 452 161 114 76 336 333  1 322 134 164  8 256  1 86 197 410 177 41 268 54 269 437 96 123 361 71 156 326 215 196 194 409 315 267 446 224 195 308 157 35 250 179 272 53 434 103 389 180 243 90 152 210 355 217 77 402 386 197 403 495 143 505 37 63 469 383 487 135 32 502 285 377 384 38 207 236 298 123 451 330 342 466 455 76 316 377 313 228 406 426 369 508 115 41 368 262 461 154 409 37 262 419 204 499 432 161 29 150 477 280 386 350 491 101 273 49 78 147 472 136 461 420 454 472 235 426 386 308 211 19 60 466 248 301 78 170 163 125 381 286 381 19 313 395 430 266 107 404 428 177 47 430 375 22 491 246 451 272 467 495 454 291 372 145 154 243 156 30 51  5 509 188 222 430 492 193 399 430 386 216 70 79 361 264 52 361 67 416 141 259 150 477 143 273 49 308 91 464 211 356 271 85 429 382 103 215 190 131 78 299 29 263 81 144 240 172 222 270 375 164 492 26 23 95 329 28 376 359 268 323 106 356 368 30 463 281  1  6 384 258 122 54 52 227 336 302 191 449 377 298 244 472 356 427 284 149 454 391 477 442 449 357 333 211 58 270 202 127 176 410 180 412 52 313 80  1 134 276 92 367 423 140 281 155 376 346 203 314 396 79 156 410 29 376 41 120 441 270 104 294 195 413 343 170 188 226 210 311 137 94 269 380 350 442 376 301 231 269 466 246 138 164 280 441 433 91 30 228 446 444 494 144 179 432 304 303 383 83 479 395 260 139 325 380 140 429 405 505 187 91 337 405 233 165 459 436 442 352 512 329 133 230 323 26 206 369 493 161 340 305 492 414 411 157 170 98 479 320 370 205 65 295 446 440 489 215 173 336 248 195 192 237 124 83 370 472 207 78 350 13 223 410 315  5 483 307 182 486 68 64 321 30 502 57 445 463 244 32 243 67 261 511 508 452 421 326 29 478 414 145 141 465 56 410 385 296 156 291 112 453 437 443 129 153 278 207 150 275 149 267 464 406 51 294 402 133 18 370 61 352 28 72 249 70 65 172 156 210 150 303 97 414 67 434 317 322 325 456 163 86 203 358 397 191 375 103 135 128 111 483 477 474 304 435 58 260 71 26 79 424 430 338 135 445 474  8 133 170 461 206 291 37 103 87 26 427 359 504 35 193 12 101 117 197 116 171  1 356 371 23 114 174 212 337 345 371 299 163 266 287 182 361 499 154 222 434 449 189 345 267 483 216 27 255 160 204 162 117 262 465 115 309 375 237 349 275  6 184 161 39 273 487 390 468 10 242 143 462 336 391 454 414 196 220 346 486 13 73 501 342 218 256 139 424 374 256 324 458 443 499 210 306 465 53 450 125 201 388 186 444 91 416 47 316 177 129 505 171 308 183 257 81 146 309 420 506 254 253 319 154 131 196 78 135 228  9 123 138 225 70 349 497 240 91 120 142 179 60 102 45 469 262 478 392 310 436 433 267 80 233 323 501 458 282 491 446 223 328 424 419 433 475  9 257 329 69 49 393 298 251 148 267 144 32 179 72 112 398 503 33 251 341 395 466 439 317 25 380 473 204 411 118 35 271 26 343 110 94 205 427  9 64 38 213 488 169 314 215 17 437 512 470 148 504 440 321 437 420 277 500 415 467 182 354 341 428 191 167 23 438 419 239 495 438 273 511  7 315 246 99 491 231 282 176 63 423 213 345 395 227 83 207 311 165 138 67 157 11 164 336 40 216 320 383 76 430 397 75 197 447 403 338 213 463 437 102 422 207 200 205 201 399 154 259 136 343 427 434 450 260  8 229 143 226 496 485 285 464 191 271 445 169 392 217 163 122 459 272 187 438 395 265 298 28 498 507 51 232 300 30 259 364 60  4 39 481 283 308 389 379 148 175 146 127 143 411 496 486 415 183 269 158 228 88 357 436 28 224  2 36 22 478 249 271 170 425 278 64 167 147 128 314 474 497 427 58 452 259 481 96 382 425 124 99 321 152 26 80 37 122 453 244 132 272 282 268 197 207 281 470 244 160 356 221 462 397 432 88 18 125 131 136 199 166 349 17 478 128 277 434 154 493 351 272 210 102 95 488 189 444 153 393 34 102 477 80 208 301 221 302 55 278 355 181 45 90 278 260 214 491 141 123 394 355 138 362 492 451 478 112 25 471 356 501 238 458 331 243 471 61 338 494 128 147 419 106 503 250 327 154 414 81 93 485 255 451 415 333 105 295 149 369 325 89 204 269 55 272 34 412 328 471 470 104 68 448 239 291 369 314 60 147 378 28 85 125 57 269 289 429 65 102 77 478 52 472 79 237 454 467 167 231 74 218 72 496 269 85 237 51 351 30 48 294 247 381 36 136 419 219 261 305 422 56 116 210 278 117 471 340 73 218 379 314 295  2 252 264 493 49 476 292 455 335 146 431 327 379 44 51 339 463 247 443 285 293 109 317 305 157 186 494 71 324 323 75 69 328 431 66 26 327 39 13 283 462 474 442 404 158 244 278 83 285 287 60 239 246 83 104 206 367 209 157 142 55 17 46 135 32 237 11 339 477 298 449 506 116 273 358 258 243 438 39 325 411 404 26 267 295 399 193 300 209 279 378 292 468  5 221 141 63 32 166 341 320  6 53 171 102 40 52 430 64 390 132 157 29 167 43 232 407 303 351 171 464 352 453 228 332 153 150 426 233 158 250 127 290 370 382 499 248 356 145 14 106 77 53 116 359  9 414 228 469 26 376 418 226 66 342 314 231 260 284 284 227 494 397 20 267 23 222 496 397 317 175 48 399 378 75 237 15 14 134 17 62 367 215 22 117 324 399 323 138 364 508 91 353 394 442 461 369 391 73 311 395 164 344 413 94 262 159 385 300 418 302 328 248 129 291 474 436 41 20 406 498 324 363 244 74 53 187 13 446 426 129 35 121 291 264 144 60 409 58 110 240 275 71 179 270 293 485 176 30 474 438 293 421 456 214 447 146 205 504 378 296 236 355 211 195 62 428 315 436 215 431 444 36 421 499 234 154 245 33 197 350 118 323 210 180 487 319 93 166 387 286 359 265 428 277 54 429 430 290 471 258 320 217 304 464 430 474 183 425 107 218 492 353 19 421 45 111 85 84 244 168 491 163 388 208 393 461 276 65 69 411 487 77 469 74 22 356 216 165 446 422 376 431 395 65 233 234 457 381 90 292 400 316 448 424 387 359 41 343 457 418 111 446 269 424 502 345 288 240 484 276 285 180 315 462 30 254 264 250 149 478 365 48 388 305 231  2 224 481 166 223 299 346 434 403 229 176 40 304 239 377 67 293 305 355 438 112 418 84 121 135 101 485 157 239 31 334 232 189 505 121 283 414 160 346 502 79 77 349 181 320 68 378 417 353 491 480 510 284 382 138 28 350 344 100 487 431 356 23 257 99 432 71 313 322 25 476 75 273 57 387 303 275 180 174 143 46 384 374 235 424 188 444 163 238 359 68 17 325 458 68 314 174 243 487 311  3 349 94 146 51 468 259 189  5 292 111 163 123 251 158 510 320 198 216 437 74 158 150 23 381 340  2 224 342 276 457 42 416 465 463 98 78 437 445 392 204 109 501 408 434 397 439 440 448 494 489 164 420 376 244 305 486 65 67 32 443 127 22 343 173 26 432 278 31 205 196 26 471 186 175 17 262  8 394 24 44 194 161 450 266 337 327 214 347 348 199 167 370 376 334 140 251 451 14 210 102 474 366 167 226 494 402 28 180 169 399 213 113 160 210 491 144  8 39 160  2 272 207 323 208 147 421 181 289 493 432 223 150 134 278  6 152 159 144 316 289 195 235 31 478 61 462 230 319 434 34 78 97 447 19 310 263 483 383 138 96 297 23 212 372 379 462 333 205 348 52 374 246 472 291 377 76 214 279 135 252 302 150 461 80 393 131 432 303 420 297 437 348 163 447 144 197 338 112 469 106 116 257 508 248 142 466 281 194 386 485 58 432 365 485 33 210 123 241 384 42 137 54 374 279 165 130 300 82 266 159 220 38 268 152 342 335 243 101 318 409 110 207 85 61 464 126  2 465 19 133 267 384 107 124 220 37 223 283 41 250 228 199 359 136 75 329 43 377 491 472 90 275 382 460 101 187 69 86 317 382 238 134 109 101 334 285 211 10 326 304 417 475 132 310 483 248 399 430 390 39 50 327 176 344 242 317 113 184 349 198 225 397 314 259 176 122 215 187 225 115 473 153 290 304 87 265 481 407 184 261 287 256 104 147 158 353 369 468 420 362 207 118 213 471 205 403 290 186 170 89 347 125 485 162 428 448 196 311 35 142 327 385 423 262 157 375 379 421 243 443 353 239 209 369 421 34 500 253 339 203 191 83 327 249 477 400 395 474 396 101 280 217 232 91 507 479 39 16 201  5 400 378 438 86 262 489 232 503 415 115 123 98 457 154 168 440 420 406 91 169 503 36 138 236 149 306 52 353 127 429 152 468 456 137 442 324 230 100 191 122 104 134 99 510 489 381 332 437 480  7 255 304 305 17 460 11 53 20 393 239 108 288 217 164 506 433 492 126 452 511 51 390  3 49 94 298 67 285 163 488 80 119 59 238 380 270 290 405 21 389 246 278 463 171 170 298  2 307 266 208 412 123 168 261 287 111 124 38 71 50 56 302 502 491 46 474  8 453 88 68 11 151 211 88 357 398 169 218 147 262 469 445 284  4 388 492 463 224 244 413 440 347 419 161 381 191 124 68 70 194 292 415 210 261 21 378 182 191 272 274 486 192 240 199 480 502 180 400 254 314 429 290  3 221 294 254 318 322 397 129 475 48 250 284 23 484 509 368 221  4 63 506 441 120 125 158 21 52 63 408 210  8 122 232 62 260 181 209 135 192 168 56 366 350 103 353 222 476 268 235 317 129 212 425 462 459 440 246 246 388 149 512 26 478 232 462 393 69 442 375 436 459 247 374 441 346 304 368 107 53 511 13 130 306 151 337 502 60 251 144 121 290 449 195 170 331 117 93 92 398 140 424 243 213 160 13 385 199 474 301 429 339 194 260 357 499 36 206 177 364 247 21 289 244 460 468 188 180 360 424  8  5 176 36 492 108 40 376 473  4 372 155 317 464 320 347 312 35 95 347 415 331 344 327 374 141 407 20 226 367 124 169 268 470 288 359 423 191 47 494 43 327 492 298 331 108 443 273 51 216 331 314 425 419 402 312 171 415 146 189 196 291 385 93 439 71 496 374 252 238 365 18 216 40 26 457 263 12 10 411 424 349 45 183 501 387 418 117 431 56 207 506 215 262 321 251 497 243 315 53 57 197 156 195 172 205 77 30 66 320 289 268 304 345 63 48 57 247 442 275 27 44 508 260 154 26 158 33 367 159 293 292 139 313  8 227 170 48 252 271 423 428 503 307 448 376 241 132 366 310 150 439 384 388 13 441 427 18 282 405 105 153 419 262 78 386 37 34 189 186 287 241 161 77 417 359 205 407 25 433 77 302 56 272 36 111 257 280 218 330 146 299 344 85 454 163 42 84 217 238 230 260 15 435 68 267 69 190 407 27 359 281 185 363 42 266  1 55 102 493 153 277 217 103 421 106 129 315 139 83 161 421 98 26 389 384 56 189 132 166 343 164 301 79 191 46 224 488 283 183 172 400 407 474 209 198 292 244 440 424 279 57 129 337 168 304 446 78 437 359 429 103 238 164 436 408 456 485 469 214 357 325 494 255  3 231  2 103 114 481 389 171 49 73 208 117 466 91 94 478 190 302 120 332 166 132 211 425  2 207 392 197 500 419 251 107 378  5 326 177 337 31  2 297 76 23 469 366 490 34 444 69 135 311 317 22 254 363 58 29 283 498 315 379 453 375 355 206 507 353 299 98 114 148 465 98 478 186 58 199 34 325 71 132 59 92 138 308 449 59 121 26 246 483 257 61 199 341 425 251 375 175 136 160 390 487 338 17 376 79 88 424 28 142 255 291 191 335 160 432 303 232 476 75 135 471 30 270 484 343 401 229 425 109 505 363 321 340 96 377 67 56 94 411 147 284 431 331 29 127 237 302 488 191 248 73 372  9  2 86 330 70 428 287 51 397 250 503 153 462 64 145 288 484 68 95 307 262 100 161 147 66 175 305 284 279 265 53 323 481 43 468 479 502 273 240 124 130 119 109 370 353 423 162 133 92 236 166 148 182 489 253 152 256 155 277 80 304 160 181 161 345 472 294 338 391 486 190 310 69 476 230 401 89 160 111 62 259 69 298 271 453 96 187 153 382 269 433 143 153 34 281 106 14 373 357 25 386 114 138 119 44 508 60 98 227 201 345 52 239 284 472 488 385 247 130 299 200 479 469 92 112 407 163 432 481 291 262 201 91 493 247 456 88 259 11 89 102 167 53 161 357 166 168 339 78 298 169 399 395 48 341 194 233 424 319 141 280 300 407 419 421 200 82 511 18 36 422 231 246 50 109 135 305 458 353 425 509 85 272 406 498 422 288 172 114 183 370 482 281 504 146 193 351 56 303 443 17 229 181 213 221 316 178 175 339 136 75 204 127 44 187 413 22 134 176 399 410 256 59 405 219 308 28 115 480 92 466 415 159 27 140 286 57 257 95 334 308 495 320 20 322 22 495 276 419 202 491 442 64 499 345 386 17  5 197 329 129 282 155 107 298 397 297 233 149 407 108 325 300 505 261 168 311 375 401 404 381 40 312 166 108 45 446 429 294 361 443 345 97 30  6 498 363 476 450 450 379 474 261 44 432 242 190 293 54 294 10 278 272 77 441 400 449 180 26 310 139 433 457 224 365 89 20 349 115 199 471 308 33  7 479 418 143 128 416 205 189  9 146 106 383 30 351 236 425 37 313 443 421 434 44 159 504 22 110 236 344 166 259 440 23 42 81 421 41 300 447 98 307 352 115 96 275 254 411 408 60 412 24 52 305 158 374 499 509 297 446 49 461 217 354 368 141 278 137 290 69 308 348 407 74 199 416 406 387 399 163 384 162 152 62 296 241 449 363 475 248 134 268 105 202 265 442 369 392 295 426 322 384 395  5 296 384 419 194 254 264 35 210 492 190 319 148 249 157 89 108 255 303 30 214  7 115 291 374 478 352 35 302 52 312 314 212 33 104 259 135 272 52 244 360 235 465  3 337 406 289 255 77 265 75 81 194 292 453 450 474 352 247 138 494 248 506 351 132 61 281 15 271 124 156 387 511 189 64 482 200 442 454 366 365 229  6 489 254 251 455 271 235 350 169 207 171 471 181 340 361 181 197  9 71 282 414  9 335 282 427 477 217 366 190 486 384 484 193 112 15 62 346 20 226 247 185 338 210 181 219 422 480 398 281 479  6 225 264 130 127 309 168 101 496 347 413 293 396 305 164 481 495 426 89 43 362 346 448 13 40 419 242 290 439 154 108 399 226 408 73 278 468 363 375 120 287 274 215 358 241 336 499 274 32 68 62 499 421 54 141 237 198 291 390 211 228 147 83 504 357 199 247 272 242 185 41 413 108 172 231 489 263 505 236 428 300 90 272 391 181 204 178 234 313 326 493 81 486 167 199 210 359 481 223 216 310 311 441 90 16 492 511 24 101 343 139 322 62 231 342 433 456 225 308 459 253 157 225  6 57 21 244 108 403 457 94 371 411 158 400 66 300 347 376 263 34 71 158 434 68 266 153 150 419  4 326 409 107 494 93 441 378 61 336 16 189 231 381 67 358 135 339 330 325 342 324 316 149 243 90 364 139 372 351 364 134 91 176 86 103 462 223 412 381 311 454 66 226 272  1 328  6 172 433 474 26 129 98 35 277 293 240 198 347 340 501 444 202 143 18 203 412 112 270 143 375 94 504 348 384 511 15 289 284 206 125  1 452 350 13 299 215 476 64 337 41 368 192 258 51 170 261 25 325 168 273 29 457 264 141 198 112 225 210 392 113 474 490 254 190 250 192 412 267 111 275 44 102 86 242 324 128 100 41 438 127 324 242 429 189 228 431 35 335 14 470 143 426 203 205 343 447 38 182 430  2 411 254 12 367 484 377 53 164 346 294 340 273 54 501 112 283 419 172 69 186 110 188 109 326 206 66 223 378 346 47 449 232 140 371 263 184 29 15 167 212 421 134 441 415 56 233 406 228 103 268 411 90 294 58 24 226 106 279 337 273 42 241 500 261 404 82 149 332 222 121 379 76 375 417 361 393 365 507 249 338 392 365 133 13 61 431 256 262 199 494  3  7 329 253 458 248 220 89 58 281 94 82 66 356 498 67 155 507 109 321 469 271 105 328 388 494 370 192 18 54 194 505 367 121  5 40 415 252 217 129 347 29 50 242 35 320 196 229 354 20 236 155 164 478 211 510 474 86 157 165 114 91 315 480 198 408 150 15 401 470 75 411 426 50 227 213 206 405 207 46 187 326 298 180 52 406 493 440 423 464 79 131 178 367 447 18 181 451 180 245 462 84 379 406 263 405 485 468 193 47 431 38 420 128 393 101 196 47 77 42 10 346 352 157 42 245  1 345 43 181 151 136 161 230 246 494 269 459 183 459 96 440 390 408 509 321 133 251 329 500 22 367 98 232 306 215 456 252 25 355 145 98 454 471 319 11 102 507 412 337 369 351 292 250 30 90 454 118 64 53 256 423 30 224 453 31 387 422 445 374 43 498 111 54 152 332 394 211 234 488 209 181 104 228 420 15 116 126 97 349 319 199 441 71 312 447 233 435 218 441 278 172 500 33 265 20 98 449 179 110 440 349 207 242 269 57 210 319 197 103 39 110 25 364 90 118 205 487 372 386 424 451 258 323 350 440 120 334 60 288  2 381 95 274 68 228 335 482 180 219 255 51 358 506 294 22 278  7 331 41 292 116 284 211 101 297 363 317 492 114 87 55 182 13 293 35  8 468 324 466 59 510 496 311 265 17 497 25 44  1 276 497 318 194 247 407 268 78 376 397 205 505 482 197 58 205 79 228 110 308 439 201 142 214 350 52 436 140 64 418 94 170 220 59 37 175 100 303 410 270 37 337 214 261 497 483 248 417 152 384 479 275 429 370 161 240 287 133 117 136 77 465 330 22  4 460 354 278 200 390  2 292 311 46 334 13 208 354 507 506 19 158 485 240 202 263 374 206 42 332 497 292 187 274 363 445 359 367 178 35 435 202 450 99 388 117 458 394 440 136 218 335 319 26 39 258 54 68 378 484 386 72 36 417 429 102 48 188 451 284 13 402 156 329 393 436 448 70  8 260 508 431 225 170 187  4 172 202 284 294 366 394 167 25 64 412 397 327 84 83 289 143 69 446 374 400 339 22 496 333 385 186 23 60 208 188 178 36 394 76 277 215 480 308 120 483 410 41 349 499 188 76 320 226 283 221 293 271 249 376 249 266 263 475 222 81 426 59 485 512 452 394 436 191 300 22 232 91 449 169 160 367 439 153 447 61 180 327 471 428 329 510 84  1 332 453 12 135 374 390 260 402 415 297 501 83 330 31 153 260 380 242 179 46 87 134 56 180 135 261 305 207 63 322 264 111 131 501 226 23 453 323 418 222 283 380 77 306 95 115 161 10 106 356 281 348 50 148 171 56 284 430 169 180 471 304 317 243 312 200 17 273 132 299 21 361 170 31 138 357 448 227 135 288 475 462 298  4 204 403 219 473 81 205 271 293 173 83 461 117 437 172 23  2 268 119 138 22 15 202 456 205 170 64 393 418 378 33 342 62 354 428 216 71 395 398 489 315 412 305 437 403 55 155 29 496 498 469 274 438 346 433 116 165 191 157 411 455 140 304 88 326 256 360 34 477 73 19 304 432 362 448 260 451 404 458 501 199 162  2  8  2 291 410 345 160 178 296 228 449 35 108 193 252 416 420 336 259 25 131 197 32 293 285 414 89 365 256 287 15 411 157 174 351 110 331  9 61 232 477 176 37 244 469 93 411 13 346 91 337 238 465 244 68 296 214 190 294 270 63 228 384 69 325 358 67 333 194 233 145 127 332 10 396 362 263 243 373 374 457 406 425 403 89 300 302 363 87 303 279 302 382 110 72 29 25 204 171 184 305 351 87 138 349 99 174 357 223 510 146 299 102 45 264 233 371 150 317 279 255 65 45 348 242 382 86 143 187 375 271 18  4 14 179 36 242 72 245 446 200 42 379 406 298 192 138 184 339 460 452 294 286 425 103 267 26 68 143 338 63  1 117 364 16 42 289 234 162 293 101 441 380 416 415 322 281 346 190 57 321 209 273 67 456 238 233 189 131 414 298 239 179 435 293 253 507 306 409 80 216 483 349 372 500 17 73 200 260 69 62 254 135 305 351 489 452 351 443 390 113  9 84 296 95 464 319 241 163 90 270 383 473 139 237 186 486 284 99 151 246 465 328 365 205 311 440 228 181 36 467 346 470 293 479 447 25 400 136 277 483 345 88 85 310 469 466 502 260 464 427 104 188 225 12 435 163 114 217 187 273 85 448 33 109 167 60 52 475 171 425 29 49  1 44 70 336 383 264 122 205 153 473 507  8 14 451 359 315 169 28 313 147 372 111 83 263 359  7 137 254 105 62 176 225 452 152 510 218 91 128 199 20 326 267 346 446 486 382 341 320 508 100 266 301 448 333 428 47 281 99 472 413 240 298 435 363 117 376 422 435 274 119 210 37 52 322 483 72 101 441 173 258 507 37 104 329 249 365 51 109 187 474 396 390 33 315 407 217 333 130 404 135 25 216 427 158 426 322 275 181 102 22 357 107 186 281 72 287 429 439 370 420 380 170 319 183 268 306 307 240 250 496 435 335 428 306 137 104 358 153 389 277 62 144 122 81 129 20 191 491 168 420 149 197 17 15 129 396 191 127 218 500 290 172 250 492 139 116 107 486 484 395 270 310 92 367 192 407 432 83 416 293 512 510 431 49 435 199 343 174 216 501 490 509 145 58 343  4 418 328 511 462 329 42 479 446 323 280 122 225 81 255 429 466 136 374 37 488 63 278 295 141 157 399 21 362 26 247 149 472 478 27 44 274 188 141 77 22 496 250  4 58 161 156 326 363 391 273 30 345 148 170 422 47 26 106 511 313 30 292 218 317 409 245 384 428 23 109 306 97 420 371 368 434 466 157 298 286 371 498 211 101 466 24  5 133 308 68 379 221 116 232 341 14 21 39 437 238 268 206 104 117 432 37 263 180 304 86 143 321 195 232 149 503 435 368 262 394 127 398 381 255 159 49 51 307 91 397 97 66 346 139 177 20 335 154 423 211 112 167 350 121 236 489 263 198 117 351 280 500 79 339 58 52 51 367 329 254 11 419 86 195 477 38 426 181  9 35 315 91  5 31 374 250 54 502 498 148 186 48 250 293 418 347 374 188 415 138 450 46 447 403 349 167 233 137 52 20 430 13 284 190 93 436 172 33 312 157 170 232 319 434 498 489 46 422 325 366 283 388 512 329 309 127 465 70 176 326 500 409 326 148 497 134 135 247 268 45 208 184 479 114 349 271 39 495  4 256 370 489 186 110 386 56 65 203 310 477 422 316 259 45 442 431 30  1 246 422 336 444 14 100 180 162 429 506 469 110 226 427 197 472 257 11 509 317 128 74 503 309 431 104 215 245 147 454 432 448 32 397 185 464 218 320 154 253 52 367 454 509 353 48 348 322 41 62 128 53 471 379 163 346 462 193 449 216 94 360 26 175 378 92 191 328 313 372 452 355 232 305 194 373 357 457 389 433 269 434 296 309 71 478 198 259 88 418 102 189 112 370 215 366 425 266 234 210 105 234 196 61 177 291 81 403 464 217 305 452 21 109 408 457 120 99 342 37 310 81 253 417 245 119 153 201 31 396 401 209 60 241 375 95 284 158 100 259 225 22 17 187 342 52 390 41 106 475 293 112 341 143 178 28 174 60 197 204 360 93 499 154 210 109 42 262 376  1 227 149 130 201 426 392 198 311 301 376 273 245 371 503 313 55 402 14 488  7 349 474 501 387 349 132 264 502 79 181 333 171 436 119 72 216 410 164 214 220 185 95 132 202 12 472 479 180 156 28 404 238 177 321 502 324 74 135 296 26 295 270 263 414 42 457 474 423 61 327 107 177 113 70 274 484 397 240 196 55 463 435 227 375 500 271 261 407 32 276 103 346 32 421 260 118 85 185 214 42 257 266 168 459 457 404 166 446 357 382 296 33 378 243 295 301 408 228 50 93 419 334 379 304 162 370 322 126 328 470 103 219 326 449 121 460 150 241 149 279 167 298 197 414 100 103 306 158 11 49 252 156 321 335 13 347 192 177 27 81 401 351 489 63 414 76 155 162 207 373 436 338 461 23 106 511 423 378 124 40 289 321 475 392 21 180 408 332 375 85 495 416 144 223 36  1 405 137 445 52 154 268 219 444 233 45 284 302 39 43 218 54 265 67 512 218 269 244 146 355 59 43 86 351 124 140 278 489 309 60 45 495 302 99 119 159 501 493 278 110 142 251 155 475 374 227 322 396 118 71 248 327 444 226 82 389 340 24 106 262 352 480 129 219 465 68 35 119 485 22 168 59 173 229 364 208 354 489 112 447 192 441 407  3 479 269 354 241 177 416 126 248 263 378 164 235 413 355 187 398 327 231 464 300 473 400 419 98 380 14 158 117 251 460 463 359  1 127 500 447 280 87 144 125 64 315 364 331 395 202 177 434 391 414 240 47 335 137 437 482 254 256 433 76 306 325 114 365 200 461 395 427 83 55 375 312 212 146 315 30  6 380 251 63 428 507 276 434 312 390 489 33 416 128 501 243 90 49 153 133 118 151 184 77 501 330 512 328 34 502 174 221 267 443 334 407 373 148 120 122 57 422 187 52 251 104 399 240 275 203 94 81 429 340 45 318 475 364 205 176 277 96 329 400 406 277 115 332 71 129 85 187 56 404 175 162 323 258 384 278 418 222 43 368 22  1 155 189 504 197 311 152 93 439 277 365 504 309 47 391 372 447 108 369 12 218 506 100 120 366 496 368 351 449 483 359 510 433 406 314 448 279 104 447 395 478 336 101 181 430 46 145 51 400 357 83 321 58 203 112 490 226 166 401 461 50 106 135 250 325 132 15 116 157 104 162 381 124 381 312 394 503 12 166 202 64 469 109 237 470 371 212 388 201 298 340 41 63 129 414 222 411 406 488 399 164 420 237 80 144 498 494 29 415 465 46 276 221 397 116 283 375 111 397 469 395 508 375 423 474 334 304 77 162 365 266 222 468 362 24 449 272 305 372 487  6 84 368 61 402 483 331 352 201 336 158 155  5 407 137 420  4 358 115 92 39 270 244 179 111 287 380 72 267 368 286 102 170 124 459 225 354 240 397 50 449 182 294 319 79 469 451 152 137 487 480 411 359 83 131 232 191 348 261 432 228 178 367 118 424 220 40 47 467 317 267 12 170 17 492 391 395 280 290 328 407 34 323 148 228 134 104 111 91 136 33 120 381 127  6 52 340 211 76 451 436 259 87 135 286 210 455 349 136 416 116 456 180 55 110 246 458 486 97 47 410 434 276 136 131 372 324 448 152 358 66 380 124 114 366 123 246 168 54 71 431 215 144 275 311 119 58 491 496 46 57 59 90 41 225 95 150 216 124 333 78 77 17 154 113 295 360 467 66 236 423 347 366 304 132 129 187 429 395 380 33 350 176 64 63 147 352 111 23 362 211 12 503 88 142 439 48 55 442 224 226 214 428 137 76 489 26 121 47 113 115 283 21 320 494 273 506 34 251 387 417 131 46 415  2 208 48 463 171 76 448 458 292 161 277 55 374 480 376  4 237 489 464 19 496 28 447 377 405 354 295 500 297 35 246 331 284 238 318 456 476 400  7 110 354 126 173 69 506 34 174 307 44 350 234 425 177 78 345 174 222 409 492 331 167 444 286 14 244 51 164 305 441 81 351 337 117 370 137 382 11 189 489 174 283 24 100 165 430 197 122 400 252 335 289 62 433 21 189 124 198 63 196 25 298 144 126 219 433 92 495 36 222 121  5 370 242 490 279 198 237 62  9 372 209  4 80 474 353 172 491 49  7 410 321 84 208 234 358 242 22 344 293 471 124 420 447 416 144 122 306 139 165 418 57 485 469 38 60 193 312 485 194 285 207 260 125 237 353 136 364 379 118  6 80 178 375 407 78 229 489 306 360 108 482 75 26 111 395 227 18 422 93 244 66 169 53 427 446 127 57 62 10 255 102 123 214 294 225 331 315 387 251 70 379 160 457 417 409 259 87 163 86 108 52 489 410 176 70 475  6 333 252 367 57 453 118 187 505 141 294 351 319 163 449 469 386 388 152 464 489 169 83 272 176 230 129 458 256 85 304 475 500 56 115 468 469 127 161 385 313 58 27 113 393 121 239 26 191 389 243  1 350 249 376 175 307  8 422 375 218 489 273 412 57 387 271 276 205 365 317 227 434 166 10 483 371 295 386 494 152 404 110 482 391 297 504 59 78 211 197 287 181 415 282 326 151 277 150 492 18 276 182 31 490 230 303 225 179 158 31 44 456 262 339 72 324 150 489 200 442 173 13 458 468 207 53 67 437 257 490 215 376 390 212 333 507 233 425 166 209 492 58 33 17 87 346 398 242 502 427 311 407 479 344 373 16 190 32 63 195 346 458 192 243 356 94 149 234 45 210 172 139 239 77 337 190 138 126 51 123 454 469 234 62 422 101 288 212 500 426 132 491 329 93 83 278 402 101 397 15 244 391 291 443 476 28 408 438 324 401 25 458 47 339 197 291 23 151 13 436  5 205 241 380 311 211 453 230 313 250 318 278 307 46 197 85 62 23 419 158 365 173 12 243 442 500 384 500 12 375 328 268 401 245 418 66 467 31 221 447 89 155 83 140 350 265 277 342 395 474 358 68 84 218 473 474 237 325 234 455 86 444 140 130 495 425 460 242 267 176 464 13 236 360 
		];
	elseif (N==1024) & (M==512)
		p=[		
			317 164 158 81 254 427 185 41 112 86 37 397 260 487 388 345 320 10 467  9 134 266 388 111 181 61 420 478 330 384 396 210 59 444 472 240 300 223 180 230 309 436 439 64 214 278 152 127 228 481 31 445 424 436 128 16 289 326 243 103 195 491  6 167 359 333 391 91 239 190 53 280 168 301 509 306 219 133 151 403 191 283 436 59 395 223 392 305 496 391 82 130 456  3 487 81 218 26 261 368 202 327 86 503 244 64 23 424 334 119 108 445 156 222 229 303 496 456 366 435 154 319 491 235 207 367 62 427 203 334 26 373 88 489 347 476 78 361 497 403 472 422 358 170 99 279 397 287 481 307  6 314 201 191 10 70 241 481 419 308 421 501 57 148 26 493 339 202 87 292 392 10 246 66 474 271 114 93 327 158 423 459 327 336 286 386 174 503 502 43 144 272 441 153 318 184 136 490 361 472 481 406 477 217 262 291 362 343 415 461 324 88 465 204 487 32 17 396  5 394 469 65 152 93  2 128 266 356 196 445 101 136 495 192 428 449 242 162 486 383 89 212 281 476 145 342 80 457 100 407 366 441 238 200 506 326 433 445 193 457 211 509 407 202 89 363 256 290 365 78 418 166 199 309 240 60 327 20 149 231 372 460 390 79 271 273 252 272 453 90 209 204 103 131 12 417 32 212 273 283 58 45 201 69 497 239 499  6 102 505 161 335 172 226 57 496 355 379 257 460 126 318 339 476 199 136 292 385 281 346 68 171 380 287 364 328 500 120  5 240 214 350 426 82 223 315 431 490 109 369 146 168 223 403 319 291 203 341 375 90 456 253 94 205 451 182 331 33 271 10 510 102 505 324 278 59 255 90 157 251 248 336 174 499 69 271 12 43 506 186 237 103 504 480 267 304 64 425 419 289 350 184 18 220 14 290 424 407 485 90 413 387 73 118 389 463 230 395 413 158 78 149 419 104 80 155 277 43 82 131 337 300 366 33 262 356 442 421 79 505 298 82 61 500 36 392 374 147 158 403 183 478 288 267 442 104 34 52 183 271 391 382 35 399 98 296 321 213 132 493 367 466 277 124 145 497 53 389 230 358 137 448 124 288 198 471 254 348 362 154 369 64 469 367 389 53 440 56 300 128 248 327 108 149 459 321 497 355 283 275 359 179 189 34 243 349 93 167 181 241 377 37 44 198 349 353 219 503 273 11 443 400 470 365  4 134 260 93 290 178 228 258 303 287 426 490 46 278 76 335 192 59 342 390 78 29 322 429 374 358 238 409 244 192 323 32 113 221 444 355 125 71 63 426 64 89 88 100 410 374 394 386 271 274 205 97 270 80 434 147 433 300 402 168 329 58 251 465 65 282 204 444 498 277 207 288 230 89 125 422 310 182 431 416 463 53 141 166 232 154 76  4 304 386 496 117 256 446 337 460 492 14 63 359 132 190 434 378 274 140 223 294 510 201 450 232 172 238 186 192 140 138 394 390 428 55 91 188 14 50 176 242 198 303 27 484 82 280 353 42 252 194 183 113 392 318 430 331 376 452 288 141 169 477 258 348 276 468 405 464 380 213 253 394 145 302 379 508 333 149 386 396 271 221 331 317 134 492 273  6 394 340 121 403 307 463 294 203 309 420 250 289  2 63 398 99 387 487 450 326 462 239 127 74 263 212 491 337 220 149 394 481 41 231 13 161 102 326 153 412 76 130 99 106 396 477 311 155 339 285 416 48 400 165 376 32 223 77 229 242 208 41 186 512  5 152 306 231 377 75 102 181 338 174 455 65 187 422 289 228 66 268 331 410 91 149 46 56 280 195 165 159 448 185 135 36 46 242 315 391 192 13 16 450 436 266 78 365 224 231 272 194 130 414 313  1 210  6 297 172 234 406 96 495 362 161 79 101 33 466 207 191 141 19 456 153 53 187 163 144 329 455 454 253 226 102 93 341 224 366 51 410 253 416 327 418 346 120 171 217 162 460 427 35 142 119 129 405 98 17 268 373 56 364 382 412 311 39 77 477 242 196 232 312 58 304 117 313 54 11 403 348 30 380 153 43 38 251 397 41 69 207 94 367 285 247 248 478 330 203 394 374 320 281 23 227 468 128 249 454 392 388 32 407 372 35 329 298 413 194 401 273 352 155 394 196 35 142 54 186 280 397 164 35 248 162 329 410 508 322 376 252 274 150 441 106 419 41 79 470 101 237 296 438 469 266 313 418 257 420  6 191  9 86 455 496 407 140 236 61 206 119 366 354 46 85 478 368 93 226 353 235 334 326 272 319 65 482 13 29 78 443 256 14 147 456 179 209 259 144 52 96 300 429 90 44 76 396 315 396 215 202 36 170 394 276 495 308 220 433 222 506 357 326 119 129 15  9 408 361 48 411 22 417 182 332 333 29 446 429 331 367 497 462 172 379 98 299 457 161 496 439 390 353 487 62 480 228 438 202 396 15 347 61 336 356 385 164 463 35 400 62 95 43 204 442 408 114 286 446 464 192 321 470  6 16 122 244 360 430 425 121 400 178 18 425 81 471 443 133 168 164 403 229 325 320 403 13 173 80 58 453 420 71 455 42 460 134 138 15 395 71 152 342 416 28 423 481 228 480 285 441 404 251 415 390 381 461 414 376 300 242 230 249 472 148 426 19 78 362 423 169 237 405 443 174 452 470 501 389 266 366 99 369 339 209 375 505 450 481 294 467 109 472 457 143 450 57 455 275 13 478 429 151 413 353 194 50 450 199 309 307 33 244  9 188 66 411 355 508 219 446 443 259 412 313 16 451 64 19 22 453 332 121 294 500 495 211 339 85 404 484 376 20 174 93 300 71 23 228 374 217 386 316 295 77  1 478 303 463 14 458 281 474 452 11 240 150 14 356 163 95 199 197 380 47 11 225 68 145 238 488 301 318 102 372 125 65 261 107 157 493 216 437 172 335 36 489 276 259 332 325 40 471 162 230 225 247 143 262 112 102 66 78 370 41 258 28 22 163 322 438 496 59  2 194 444 151 487 322 42 202 301 361 226 328 125 484 76 267 102 191 415 217 210 114 466 500 254  4 307 54 123 139 64 37 220 98 29 70 210 165 312 467  1 292 81 220 313 373 330 420 420 486 160 243 16 328 378 224 373 313 252 347 191 386 313 82 228 355 158 446 331 367 433 497 11 227  8 434 424 461 35 496 17 303 431 347 70 270 152 475 495 276 136 329 392 399 309 129 292 10 85 441 259 258 496 377 489 501 308 468 511 228 265 298 226 355 198 59 282 404 61 14 54 109 256 132 85 477 164 347 120 443 307 298 425 417 284 482 179 340 275 478 59 476 335 423 381 500 132  5 482 427 149 165 168 49 206 333 209 319 258 91 455 336 122  2 177 407 472 270 295 291 416 44 118 132 46 177 96 185 332 251 68 511 380 47 320 488 165 185 463 453 232  5 363 145 135  1 126 123 475 508 178 257 274 237 259 228 507 398 504 501 15 390 29 93 221 140  6 373 422 320 44 112 92 24 176 244 128 303 189 363 404 287 125 95 394 399 18 392 251 399 278 437 510 415 409 82 494 439 201 469 438 345 172 248 32 461 452 161 114 76 336 333  1 322 134 164  8 256  1 86 197 410 177 41 268 54 269 437 96 123 361 71 156 326 215 196 194 409 315 267 446 224 195 308 157 35 250 179 272 53 434 103 389 180 243 90 152 210 355 217 77 402 386 197 403 495 143 505 37 63 469 383 487 135 32 502 285 377 384 38 207 236 298 123 451 330 342 466 455 76 316 377 313 228 406 426 369 508 115 41 368 262 461 154 409 37 262 419 204 499 432 161 29 150 477 280 386 350 491 101 273 49 78 147 472 136 461 420 454 472 235 426 386 308 211 19 60 466 248 301 78 170 163 125 381 286 381 19 313 395 430 266 107 404 428 177 47 430 375 22 491 246 451 272 467 495 454 291 372 145 154 243 156 30 51  5 509 188 222 430 492 193 399 430 386 216 70 79 361 264 52 361 67 416 141 259 150 477 143 273 49 308 91 464 211 356 271 85 429 382 103 215 190 131 78 299 29 263 81 144 240 172 222 270 375 164 492 26 23 95 329 28 376 359 268 323 106 356 368 30 463 281  1  6 384 258 122 54 52 227 336 302 191 449 377 298 244 472 356 427 284 149 454 391 477 442 449 357 333 211 58 270 202 127 176 410 180 412 52 313 80  1 134 276 92 367 423 140 281 155 376 346 203 314 396 79 156 410 29 376 41 120 441 270 104 294 195 413 343 170 188 226 210 311 137 94 269 380 350 442 376 301 231 269 466 246 138 164 280 441 433 91 30 228 446 444 494 144 179 432 304 303 383 83 479 395 260 139 325 380 140 429 405 505 187 91 337 405 233 165 459 436 442 352 512 329 133 230 323 26 206 369 493 161 340 305 492 414 411 157 170 98 479 320 370 205 65 295 446 440 489 215 173 336 248 195 192 237 124 83 370 472 207 78 350 13 223 410 315  5 483 307 182 486 68 64 321 30 502 57 445 463 244 32 243 67 261 511 508 452 421 326 29 478 414 145 141 465 56 410 385 296 156 291 112 453 437 443 129 153 278 207 150 275 149 267 464 406 51 294 402 133 18 370 61 352 28 72 249 70 65 172 156 210 150 303 97 414 67 434 317 322 325 456 163 86 203 358 397 191 375 103 135 128 111 483 477 474 304 435 58 260 71 26 79 424 430 338 135 445 474  8 133 170 461 206 291 37 103 87 26 427 359 504 35 193 12 101 117 197 116 171  1 356 371 23 114 174 212 337 345 371 299 163 266 287 182 361 499 154 222 434 449 189 345 267 483 216 27 255 160 204 162 117 262 465 115 309 375 237 349 275  6 184 161 39 273 487 390 468 10 242 143 462 336 391 454 414 196 220 346 486 13 73 501 342 218 256 139 424 374 256 324 458 443 499 210 306 465 53 450 125 201 388 186 444 91 416 47 316 177 129 505 171 308 183 257 81 146 309 420 506 254 253 319 154 131 196 78 135 228  9 123 138 225 70 349 497 240 91 120 142 179 60 102 45 469 262 478 392 310 436 433 267 80 233 323 501 458 282 491 446 223 328 424 419 433 475  9 257 329 69 49 393 298 251 148 267 144 32 179 72 112 398 503 33 251 341 395 466 439 317 25 380 473 204 411 118 35 271 26 343 110 94 205 427  9 64 38 213 488 169 314 215 17 437 512 470 148 504 440 321 437 420 277 500 415 467 182 354 341 428 191 167 23 438 419 239 495 438 273 511  7 315 246 99 491 231 282 176 63 423 213 345 395 227 83 207 311 165 138 67 157 11 164 336 40 216 320 383 76 430 397 75 197 447 403 338 213 463 437 102 422 207 200 205 201 399 154 259 136 343 427 434 450 260  8 229 143 226 496 485 285 464 191 271 445 169 392 217 163 122 459 272 187 438 395 265 298 28 498 507 51 232 300 30 259 364 60  4 39 481 283 308 389 379 148 175 146 127 143 411 496 486 415 183 269 158 228 88 357 436 28 224  2 36 22 478 249 271 170 425 278 64 167 147 128 314 474 497 427 58 452 259 481 96 382 425 124 99 321 152 26 80 37 122 453 244 132 272 282 268 197 207 281 470 244 160 356 221 462 397 432 88 18 125 131 136 199 166 349 17 478 128 277 434 154 493 351 272 210 102 95 488 189 444 153 393 34 102 477 80 208 301 221 302 55 278 355 181 45 90 278 260 214 491 141 123 394 355 138 362 492 451 478 112 25 471 356 501 238 458 331 243 471 61 338 494 128 147 419 106 503 250 327 154 414 81 93 485 255 451 415 333 105 295 149 369 325 89 204 269 55 272 34 412 328 471 470 104 68 448 239 291 369 314 60 147 378 28 85 125 57 269 289 429 65 102 77 478 52 472 79 237 454 467 167 231 74 218 72 496 269 85 237 51 351 30 48 294 247 381 36 136 419 219 261 305 422 56 116 210 278 117 471 340 73 218 379 314 295  2 252 264 493 49 476 292 455 335 146 431 327 379 44 51 339 463 247 443 285 293 109 317 305 157 186 494 71 324 323 75 69 328 431 66 26 327 39 13 283 462 474 442 404 158 244 278 83 285 287 60 239 246 83 104 206 367 209 157 142 55 17 46 135 32 237 11 339 477 298 449 506 116 273 358 258 243 438 39 325 411 404 26 267 295 399 193 300 209 279 378 292 468  5 221 141 63 32 166 341 320  6 53 171 102 40 52 430 64 390 132 157 29 167 43 232 407 303 351 171 464 352 453 228 332 153 150 426 233 158 250 127 290 370 382 499 248 356 145 14 106 77 53 116 359  9 414 228 469 26 376 418 226 66 342 314 231 260 284 284 227 494 397 20 267 23 222 496 397 317 175 48 399 378 75 237 15 14 134 17 62 367 215 22 117 324 399 323 138 364 508 91 353 394 442 461 369 391 73 311 395 164 344 413 94 262 159 385 300 418 302 328 248 129 291 474 436 41 20 406 498 324 363 244 74 53 187 13 446 426 129 35 121 291 264 144 60 409 58 110 240 275 71 179 270 293 485 176 30 474 438 293 421 456 214 447 146 205 504 378 296 236 355 211 195 62 428 315 436 215 431 444 36 421 499 234 154 245 33 197 350 118 323 210 180 487 319 93 166 387 286 359 265 428 277 54 429 430 290 471 258 320 217 304 464 430 474 183 425 107 218 492 353 19 421 45 111 85 84 244 168 491 163 388 208 393 461 276 65 69 411 487 77 469 74 22 356 216 165 446 422 376 431 395 65 233 234 457 381 90 292 400 316 448 424 387 359 41 343 457 418 111 446 269 424 502 345 288 240 484 276 285 180 315 462 30 254 264 250 149 478 365 48 388 305 231  2 224 481 166 223 299 346 434 403 229 176 40 304 239 377 67 293 305 355 438 112 418 84 121 135 101 485 157 239 31 334 232 189 505 121 283 414 160 346 502 79 77 349 181 320 68 378 417 353 491 480 510 284 382 138 28 350 344 100 487 431 356 23 257 99 432 71 313 322 25 476 75 273 57 387 303 275 180 174 143 46 384 374 235 424 188 444 163 238 359 68 17 325 458 68 314 174 243 487 311  3 349 94 146 51 468 259 189  5 292 111 163 123 251 158 510 320 198 216 437 74 158 150 23 381 340  2 224 342 276 457 42 416 465 463 98 78 437 445 392 204 109 501 408 434 397 439 440 448 494 489 164 420 376 244 305 486 65 67 32 443 127 22 343 173 26 432 278 31 205 196 26 471 186 175 17 262  8 394 24 44 194 161 450 266 337 327 214 347 348 199 167 370 376 334 140 251 451 14 210 102 474 366 167 226 494 402 28 180 169 399 213 113 160 210 491 144  8 39 160  2 272 207 323 208 147 421 181 289 493 432 223 150 134 278  6 152 159 144 316 289 195 235 31 478 61 462 230 319 434 34 78 97 447 19 310 263 483 383 138 96 297 23 212 372 379 462 333 205 348 52 374 246 472 291 377 76 214 279 135 252 302 150 461 80 393 131 432 303 420 297 437 348 163 447 144 197 338 112 469 106 116 257 508 248 142 466 281 194 386 485 58 432 365 485 33 210 123 241 384 42 137 54 374 279 165 130 300 82 266 159 220 38 268 152 342 335 243 101 318 409 110 207 85 61 464 126  2 465 19 133 267 384 107 124 220 37 223 283 41 250 228 199 359 136 75 329 43 377 491 472 90 275 382 460 101 187 69 86 317 382 238 134 109 101 334 285 211 10 326 304 417 475 132 310 483 248 399 430 390 39 50 327 176 344 242 317 113 184 349 198 225 397 314 259 176 122 215 187 225 115 473 153 290 304 87 265 481 407 184 261 287 256 104 147 158 353 369 468 420 362 207 118 213 471 205 403 290 186 170 89 347 125 485 162 428 448 196 311 35 142 327 385 423 262 157 375 379 421 243 443 353 239 209 369 421 34 500 253 339 203 191 83 327 249 477 400 395 474 396 101 280 217 232 91 507 479 39 16 201  5 400 378 438 86 262 489 232 503 415 115 123 98 457 154 168 440 420 406 91 169 503 36 138 236 149 306 52 353 127 429 152 468 456 137 442 324 230 100 191 122 104 134 99 510 489 381 332 437 480  7 255 304 305 17 460 11 53 20 393 239 108 288 217 164 506 433 492 126 452 511 51 390  3 49 94 298 67 285 163 488 80 119 59 238 380 270 290 405 21 389 246 278 463 171 170 298  2 307 266 208 412 123 168 261 287 111 124 38 71 50 56 302 502 491 46 474  8 453 88 68 11 151 211 88 357 398 169 218 147 262 469 445 284  4 388 492 463 224 244 413 440 347 419 161 381 191 124 68 70 194 292 415 210 261 21 378 182 191 272 274 486 192 240 199 480 502 180 400 254 314 429 290  3 221 294 254 318 322 397 129 475 48 250 284 23 484 509 368 221  4 63 506 441 120 125 158 21 52 63 408 210  8 122 232 62 260 181 209 135 192 168 56 366 350 103 353 222 476 268 235 317 129 212 425 462 459 440 246 246 388 149 512 26 478 232 462 393 69 442 375 436 459 247 374 441 346 304 368 107 53 511 13 130 306 151 337 502 60 251 144 121 290 449 195 170 331 117 93 92 398 140 424 243 213 160 13 385 199 474 301 429 339 194 260 357 499 36 206 177 364 247 21 289 244 460 468 188 180 360 424  8  5 176 36 492 108 40 376 473  4 372 155 317 464 320 347 312 35 95 347 415 331 344 327 374 141 407 20 226 367 124 169 268 470 288 359 423 191 47 494 43 327 492 298 331 108 443 273 51 216 331 314 425 419 402 312 171 415 146 189 196 291 385 93 439 71 496 374 252 238 365 18 216 40 26 457 263 12 10 411 424 349 45 183 501 387 418 117 431 56 207 506 215 262 321 251 497 243 315 53 57 197 156 195 172 205 77 30 66 320 289 268 304 345 63 48 57 247 442 275 27 44 508 260 154 26 158 33 367 159 293 292 139 313  8 227 170 48 252 271 423 428 503 307 448 376 241 132 366 310 150 439 384 388 13 441 427 18 282 405 105 153 419 262 78 386 37 34 189 186 287 241 161 77 417 359 205 407 25 433 77 302 56 272 36 111 257 280 218 330 146 299 344 85 454 163 42 84 217 238 230 260 15 435 68 267 69 190 407 27 359 281 185 363 42 266  1 55 102 493 153 277 217 103 421 106 129 315 139 83 161 421 98 26 389 384 56 189 132 166 343 164 301 79 191 46 224 488 283 183 172 400 407 474 209 198 292 244 440 424 279 57 129 337 
		];
	elseif (N==4096) & (M==512)
		p=[
			317 164 158 81 254 427 185 41 112 86 37 397 260 487 388 345 320 10 467  9 134 266 388 111 181 61 420 478 330 384 396 210 59 444 472 240 300 223 180 230 309 436 439 64 214 278 152 127 228 481 31 445 424 436 128 16 289 326 243 103 195 491  6 167 359 333 391 91 239 190 53 280 168 301 509 306 219 133 151 403 191 283 436 59 395 223 392 305 496 391 82 130 456  3 487 81 218 26 261 368 202 327 86 503 244 64 23 424 334 119 108 445 156 222 229 303 496 456 366 435 154 319 491 235 207 367 62 427 203 334 26 373 88 489 347 476 78 361 497 403 472 422 358 170 99 279 397 287 481 307  6 314 201 191 10 70 241 481 419 308 421 501 57 148 26 493 339 202 87 292 392 10 246 66 474 271 114 93 327 158 423 459 327 336 286 386 174 503 502 43 144 272 441 153 318 184 136 490 361 472 481 406 477 217 262 291 362 343 415 461 324 88 465 204 487 32 17 396  5 394 469 65 152 93  2 128 266 356 196 445 101 136 495 192 428 449 242 162 486 383 89 212 281 476 145 342 80 457 100 407 366 441 238 200 506 326 433 445 193 457 211 509 407 202 89 363 256 290 365 78 418 166 199 309 240 60 327 20 149 231 372 460 390 79 271 273 252 272 453 90 209 204 103 131 12 417 32 212 273 283 58 45 201 69 497 239 499  6 102 505 161 335 172 226 57 496 355 379 257 460 126 318 339 476 199 136 292 385 281 346 68 171 380 287 364 328 500 120  5 240 214 350 426 82 223 315 431 490 109 369 146 168 223 403 319 291 203 341 375 90 456 253 94 205 451 182 331 33 271 10 510 102 505 324 278 59 255 90 157 251 248 336 174 499 69 271 12 43 506 186 237 103 504 480 267 304 64 425 419 289 350 184 18 220 14 290 424 407 485 90 413 387 73 118 389 463 230 395 413 158 78 149 419 104 80 155 277 43 82 131 337 300 366 33 262 356 442 421 79 505 298 82 61 500 36 392 374 147 158 403 183 478 288 267 442 104 34 52 183 271 391 382 35 399 98 296 321 213 132 493 367 466 277 124 145 497 53 389 230 358 137 448 124 288 198 471 254 348 362 154 369 64 469 367 389 53 440 56 300 128 248 327 108 149 459 321 497 355 283 275 359 179 189 34 243 349 93 167 181 241 377 37 44 198 349 353 219 503 273 11 443 400 470 365  4 134 260 93 290 178 228 258 303 287 426 490 46 278 76 335 192 59 342 390 78 29 322 429 374 358 238 409 244 192 323 32 113 221 444 355 125 71 63 426 64 89 88 100 410 374 394 386 271 274 205 97 270 80 434 147 433 300 402 168 329 58 251 465 65 282 204 444 498 277 207 288 230 89 125 422 310 182 431 416 463 53 141 166 232 154 76  4 304 386 496 117 256 446 337 460 492 14 63 359 132 190 434 378 274 140 223 294 510 201 450 232 172 238 186 192 140 138 394 390 428 55 91 188 14 50 176 242 198 303 27 484 82 280 353 42 252 194 183 113 392 318 430 331 376 452 288 141 169 477 258 348 276 468 405 464 380 213 253 394 145 302 379 508 333 149 386 396 271 221 331 317 134 492 273  6 394 340 121 403 307 463 294 203 309 420 250 289  2 63 398 99 387 487 450 326 462 239 127 74 263 212 491 337 220 149 394 481 41 231 13 161 102 326 153 412 76 130 99 106 396 477 311 155 339 285 416 48 400 165 376 32 223 77 229 242 208 41 186 512  5 152 306 231 377 75 102 181 338 174 455 65 187 422 289 228 66 268 331 410 91 149 46 56 280 195 165 159 448 185 135 36 46 242 315 391 192 13 16 450 436 266 78 365 224 231 272 194 130 414 313  1 210  6 297 172 234 406 96 495 362 161 79 101 33 466 207 191 141 19 456 153 53 187 163 144 329 455 454 253 226 102 93 341 224 366 51 410 253 416 327 418 346 120 171 217 162 460 427 35 142 119 129 405 98 17 268 373 56 364 382 412 311 39 77 477 242 196 232 312 58 304 117 313 54 11 403 348 30 380 153 43 38 251 397 41 69 207 94 367 285 247 248 478 330 203 394 374 320 281 23 227 468 128 249 454 392 388 32 407 372 35 329 298 413 194 401 273 352 155 394 196 35 142 54 186 280 397 164 35 248 162 329 410 508 322 376 252 274 150 441 106 419 41 79 470 101 237 296 438 469 266 313 418 257 420  6 191  9 86 455 496 407 140 236 61 206 119 366 354 46 85 478 368 93 226 353 235 334 326 272 319 65 482 13 29 78 443 256 14 147 456 179 209 259 144 52 96 300 429 90 44 76 396 315 396 215 202 36 170 394 276 495 308 220 433 222 506 357 326 119 129 15  9 408 361 48 411 22 417 182 332 333 29 446 429 331 367 497 462 172 379 98 299 457 161 496 439 390 353 487 62 480 228 438 202 396 15 347 61 336 356 385 164 463 35 400 62 95 43 204 442 408 114 286 446 464 192 321 470  6 16 122 244 360 430 425 121 400 178 18 425 81 471 443 133 168 164 403 229 325 320 403 13 173 80 58 453 420 71 455 42 460 134 138 15 395 71 152 342 416 28 423 481 228 480 285 441 404 251 415 390 381 461 414 376 300 242 230 249 472 148 426 19 78 362 423 169 237 405 443 174 452 470 501 389 266 366 99 369 339 209 375 505 450 481 294 467 109 472 457 143 450 57 455 275 13 478 429 151 413 353 194 50 450 199 309 307 33 244  9 188 66 411 355 508 219 446 443 259 412 313 16 451 64 19 22 453 332 121 294 500 495 211 339 85 404 484 376 20 174 93 300 71 23 228 374 217 386 316 295 77  1 478 303 463 14 458 281 474 452 11 240 150 14 356 163 95 199 197 380 47 11 225 68 145 238 488 301 318 102 372 125 65 261 107 157 493 216 437 172 335 36 489 276 259 332 325 40 471 162 230 225 247 143 262 112 102 66 78 370 41 258 28 22 163 322 438 496 59  2 194 444 151 487 322 42 202 301 361 226 328 125 484 76 267 102 191 415 217 210 114 466 500 254  4 307 54 123 139 64 37 220 98 29 70 210 165 312 467  1 292 81 220 313 373 330 420 420 486 160 243 16 328 378 224 373 313 252 347 191 386 313 82 228 355 158 446 331 367 433 497 11 227  8 434 424 461 35 496 17 303 431 347 70 270 152 475 495 276 136 329 392 399 309 129 292 10 85 441 259 258 496 377 489 501 308 468 511 228 265 298 226 355 198 59 282 404 61 14 54 109 256 132 85 477 164 347 120 443 307 298 425 417 284 482 179 340 275 478 59 476 335 423 381 500 132  5 482 427 149 165 168 49 206 333 209 319 258 91 455 336 122  2 177 407 472 270 295 291 416 44 118 132 46 177 96 185 332 251 68 511 380 47 320 488 165 185 463 453 232  5 363 145 135  1 126 123 475 508 178 257 274 237 259 228 507 398 504 501 15 390 29 93 221 140  6 373 422 320 44 112 92 24 176 244 128 303 189 363 404 287 125 95 394 399 18 392 251 399 278 437 510 415 409 82 494 439 201 469 438 345 172 248 32 461 452 161 114 76 336 333  1 322 134 164  8 256  1 86 197 410 177 41 268 54 269 437 96 123 361 71 156 326 215 196 194 409 315 267 446 224 195 308 157 35 250 179 272 53 434 103 389 180 243 90 152 210 355 217 77 402 386 197 403 495 143 505 37 63 469 383 487 135 32 502 285 377 384 38 207 236 298 123 451 330 342 466 455 76 316 377 313 228 406 426 369 508 115 41 368 262 461 154 409 37 262 419 204 499 432 161 29 150 477 280 386 350 491 101 273 49 78 147 472 136 461 420 454 472 235 426 386 308 211 19 60 466 248 301 78 170 163 125 381 286 381 19 313 395 430 266 107 404 428 177 47 430 375 22 491 246 451 272 467 495 454 291 372 145 154 243 156 30 51  5 509 188 222 430 492 193 399 430 386 216 70 79 361 264 52 361 67 416 141 259 150 477 143 273 49 308 91 464 211 356 271 85 429 382 103 215 190 131 78 299 29 263 81 144 240 172 222 270 375 164 492 26 23 95 329 28 376 359 268 323 106 356 368 30 463 281  1  6 384 258 122 54 52 227 336 302 191 449 377 298 244 472 356 427 284 149 454 391 477 442 449 357 333 211 58 270 202 127 176 410 180 412 52 313 80  1 134 276 92 367 423 140 281 155 376 346 203 314 396 79 156 410 29 376 41 120 441 270 104 294 195 413 343 170 188 226 210 311 137 94 269 380 350 442 376 301 231 269 466 246 138 164 280 441 433 91 30 228 446 444 494 144 179 432 304 303 383 83 479 395 260 139 325 380 140 429 405 505 187 91 337 405 233 165 459 436 442 352 512 329 133 230 323 26 206 369 493 161 340 305 492 414 411 157 170 98 479 320 370 205 65 295 446 440 489 215 173 336 248 195 192 237 124 83 370 472 207 78 350 13 223 410 315  5 483 307 182 486 68 64 321 30 502 57 445 463 244 32 243 67 261 511 508 452 421 326 29 478 414 145 141 465 56 410 385 296 156 291 112 453 437 443 129 153 278 207 150 275 149 267 464 406 51 294 402 133 18 370 61 352 28 72 249 70 65 172 156 210 150 303 97 414 67 434 317 322 325 456 163 86 203 358 397 191 375 103 135 128 111 483 477 474 304 435 58 260 71 26 79 424 430 338 135 445 474  8 133 170 461 206 291 37 103 87 26 427 359 504 35 193 12 101 117 197 116 171  1 356 371 23 114 174 212 337 345 371 299 163 266 287 182 361 499 154 222 434 449 189 345 267 483 216 27 255 160 204 162 117 262 465 115 309 375 237 349 275  6 184 161 39 273 487 390 468 10 242 143 462 336 391 454 414 196 220 346 486 13 73 501 342 218 256 139 424 374 256 324 458 443 499 210 306 465 53 450 125 201 388 186 444 91 416 47 316 177 129 505 171 308 183 257 81 146 309 420 506 254 253 319 154 131 196 78 135 228  9 123 138 225 70 349 497 240 91 120 142 179 60 102 45 469 262 478 392 310 436 433 267 80 233 323 501 458 282 491 446 223 328 424 419 433 475  9 257 329 69 49 393 298 251 148 267 144 32 179 72 112 398 503 33 251 341 395 466 439 317 25 380 473 204 411 118 35 271 26 343 110 94 205 427  9 64 38 213 488 169 314 215 17 437 512 470 148 504 440 321 437 420 277 500 415 467 182 354 341 428 191 167 23 438 419 239 495 438 273 511  7 315 246 99 491 231 282 176 63 423 213 345 395 227 83 207 311 165 138 67 157 11 164 336 40 216 320 383 76 430 397 75 197 447 403 338 213 463 437 102 422 207 200 205 201 399 154 259 136 343 427 434 450 260  8 229 143 226 496 485 285 464 191 271 445 169 392 217 163 122 459 272 187 438 395 265 298 28 498 507 51 232 300 30 259 364 60  4 39 481 283 308 389 379 148 175 146 127 143 411 496 486 415 183 269 158 228 88 357 436 28 224  2 36 22 478 249 271 170 425 278 64 167 147 128 314 474 497 427 58 452 259 481 96 382 425 124 99 321 152 26 80 37 122 453 244 132 272 282 268 197 207 281 470 244 160 356 221 462 397 432 88 18 125 131 136 199 166 349 17 478 128 277 434 154 493 351 272 210 102 95 488 189 444 153 393 34 102 477 80 208 301 221 302 55 278 355 181 45 90 278 260 214 491 141 123 394 355 138 362 492 451 478 112 25 471 356 501 238 458 331 243 471 61 338 494 128 147 419 106 503 250 327 154 414 81 93 485 255 451 415 333 105 295 149 369 325 89 204 269 55 272 34 412 328 471 470 104 68 448 239 291 369 314 60 147 378 28 85 125 57 269 289 429 65 102 77 478 52 472 79 237 454 467 167 231 74 218 72 496 269 85 237 51 351 30 48 294 247 381 36 136 419 219 261 305 422 56 116 210 278 117 471 340 73 218 379 314 295  2 252 264 493 49 476 292 455 335 146 431 327 379 44 51 339 463 247 443 285 293 109 317 305 157 186 494 71 324 323 75 69 328 431 66 26 327 39 13 283 462 474 442 404 158 244 278 83 285 287 60 239 246 83 104 206 367 209 157 142 55 17 46 135 32 237 11 339 477 298 449 506 116 273 358 258 243 438 39 325 411 404 26 267 295 399 193 300 209 279 378 292 468  5 221 141 63 32 166 341 320  6 53 171 102 40 52 430 64 390 132 157 29 167 43 232 407 303 351 171 464 352 453 228 332 153 150 426 233 158 250 127 290 370 382 499 248 356 145 14 106 77 53 116 359  9 414 228 469 26 376 418 226 66 342 314 231 260 284 284 227 494 397 20 267 23 222 496 397 317 175 48 399 378 75 237 15 14 134 17 62 367 215 22 117 324 399 323 138 364 508 91 353 394 442 461 369 391 73 311 395 164 344 413 94 262 159 385 300 418 302 328 248 129 291 474 436 41 20 406 498 324 363 244 74 53 187 13 446 426 129 35 121 291 264 144 60 409 58 110 240 275 71 179 270 293 485 176 30 474 438 293 421 456 214 447 146 205 504 378 296 236 355 211 195 62 428 315 436 215 431 444 36 421 499 234 154 245 33 197 350 118 323 210 180 487 319 93 166 387 286 359 265 428 277 54 429 430 290 471 258 320 217 304 464 430 474 183 425 107 218 492 353 19 421 45 111 85 84 244 168 491 163 388 208 393 461 276 65 69 411 487 77 469 74 22 356 216 165 446 422 376 431 395 65 233 234 457 381 90 292 400 316 448 424 387 359 41 343 457 418 111 446 269 424 502 345 288 240 484 276 285 180 315 462 30 254 264 250 149 478 365 48 388 305 231  2 224 481 166 223 299 346 434 403 229 176 40 304 239 377 67 293 305 355 438 112 418 84 121 135 101 485 157 239 31 334 232 189 505 121 283 414 160 346 502 79 77 349 181 320 68 378 417 353 491 480 510 284 382 138 28 350 344 100 487 431 356 23 257 99 432 71 313 322 25 476 75 273 57 387 303 275 180 174 143 46 384 374 235 424 188 444 163 238 359 68 17 325 458 68 314 174 243 487 311  3 349 94 146 51 468 259 189  5 292 111 163 123 251 158 510 320 198 216 437 74 158 150 23 381 340  2 224 342 276 457 42 416 465 463 98 78 437 445 392 204 109 501 408 434 397 439 440 448 494 489 164 420 376 244 305 486 65 67 32 443 127 22 343 173 26 432 278 31 205 196 26 471 186 175 17 262  8 394 24 44 194 161 450 266 337 327 214 347 348 199 167 370 376 334 140 251 451 14 210 102 474 366 167 226 494 402 28 180 169 399 213 113 160 210 491 144  8 39 160  2 272 207 323 208 147 421 181 289 493 432 223 150 134 278  6 152 159 144 316 289 195 235 31 478 61 462 230 319 434 34 78 97 447 19 310 263 483 383 138 96 297 23 212 372 379 462 333 205 348 52 374 246 472 291 377 76 214 279 135 252 302 150 461 80 393 131 432 303 420 297 437 348 163 447 144 197 338 112 469 106 116 257 508 248 142 466 281 194 386 485 58 432 365 485 33 210 123 241 384 42 137 54 374 279 165 130 300 82 266 159 220 38 268 152 342 335 243 101 318 409 110 207 85 61 464 126  2 465 19 133 267 384 107 124 220 37 223 283 41 250 228 199 359 136 75 329 43 377 491 472 90 275 382 460 101 187 69 86 317 382 238 134 109 101 334 285 211 10 326 304 417 475 132 310 483 248 399 430 390 39 50 327 176 344 242 317 113 184 349 198 225 397 314 259 176 122 215 187 225 115 473 153 290 304 87 265 481 407 184 261 287 256 104 147 158 353 369 468 420 362 207 118 213 471 205 403 290 186 170 89 347 125 485 162 428 448 196 311 35 142 327 385 423 262 157 375 379 421 243 443 353 239 209 369 421 34 500 253 339 203 191 83 327 249 477 400 395 474 396 101 280 217 232 91 507 479 39 16 201  5 400 378 438 86 262 489 232 503 415 115 123 98 457 154 168 440 420 406 91 169 503 36 138 236 149 306 52 353 127 429 152 468 456 137 442 324 230 100 191 122 104 134 99 510 489 381 332 437 480  7 255 304 305 17 460 11 53 20 393 239 108 288 217 164 506 433 492 126 452 511 51 390  3 49 94 298 67 285 163 488 80 119 59 238 380 270 290 405 21 389 246 278 463 171 170 298  2 307 266 208 412 123 168 261 287 111 124 38 71 50 56 302 502 491 46 474  8 453 88 68 11 151 211 88 357 398 169 218 147 262 469 445 284  4 388 492 463 224 244 413 440 347 419 161 381 191 124 68 70 194 292 415 210 261 21 378 182 191 272 274 486 192 240 199 480 502 180 400 254 314 429 290  3 221 294 254 318 322 397 129 475 48 250 284 23 484 509 368 221  4 63 506 441 120 125 158 21 52 63 408 210  8 122 232 62 260 181 209 135 192 168 56 366 350 103 353 222 476 268 235 317 129 212 425 462 459 440 246 246 388 149 512 26 478 232 462 393 69 442 375 436 459 247 374 441 346 304 368 107 53 511 13 130 306 151 337 502 60 251 144 121 290 449 195 170 331 117 93 92 398 140 424 243 213 160 13 385 199 474 301 429 339 194 260 357 499 36 206 177 364 247 21 289 244 460 468 188 180 360 424  8  5 176 36 492 108 40 376 473  4 372 155 317 464 320 347 312 35 95 347 415 331 344 327 374 141 407 20 226 367 124 169 268 470 288 359 423 191 47 494 43 327 492 298 331 108 443 273 51 216 331 314 425 419 402 312 171 415 146 189 196 291 385 93 439 71 496 374 252 238 365 18 216 40 26 457 263 12 10 411 424 349 45 183 501 387 418 117 431 56 207 506 215 262 321 251 497 243 315 53 57 197 156 195 172 205 77 30 66 320 289 268 304 345 63 48 57 247 442 275 27 44 508 260 154 26 158 33 367 159 293 292 139 313  8 227 170 48 252 271 423 428 503 307 448 376 241 132 366 310 150 439 384 388 13 441 427 18 282 405 105 153 419 262 78 386 37 34 189 186 287 241 161 77 417 359 205 407 25 433 77 302 56 272 36 111 257 280 218 330 146 299 344 85 454 163 42 84 217 238 230 260 15 435 68 267 69 190 407 27 359 281 185 363 42 266  1 55 102 493 153 277 217 103 421 106 129 315 139 83 161 421 98 26 389 384 56 189 132 166 343 164 301 79 191 46 224 488 283 183 172 400 407 474 209 198 292 244 440 424 279 57 129 337 168 304 446 78 437 359 429 103 238 164 436 408 456 485 469 214 357 325 494 255  3 231  2 103 114 481 389 171 49 73 208 117 466 91 94 478 190 302 120 332 166 132 211 425  2 207 392 197 500 419 251 107 378  5 326 177 337 31  2 297 76 23 469 366 490 34 444 69 135 311 317 22 254 363 58 29 283 498 315 379 453 375 355 206 507 353 299 98 114 148 465 98 478 186 58 199 34 325 71 132 59 92 138 308 449 59 121 26 246 483 257 61 199 341 425 251 375 175 136 160 390 487 338 17 376 79 88 424 28 142 255 291 191 335 160 432 303 232 476 75 135 471 30 270 484 343 401 229 425 109 505 363 321 340 96 377 67 56 94 411 147 284 431 331 29 127 237 302 488 191 248 73 372  9  2 86 330 70 428 287 51 397 250 503 153 462 64 145 288 484 68 95 307 262 100 161 147 66 175 305 284 279 265 53 323 481 43 468 479 502 273 240 124 130 119 109 370 353 423 162 133 92 236 166 148 182 489 253 152 256 155 277 80 304 160 181 161 345 472 294 338 391 486 190 310 69 476 230 401 89 160 111 62 259 69 298 271 453 96 187 153 382 269 433 143 153 34 281 106 14 373 357 25 386 114 138 119 44 508 60 98 227 201 345 52 239 284 472 488 385 247 130 299 200 479 469 92 112 407 163 432 481 291 262 201 91 493 247 456 88 259 11 89 102 167 53 161 357 166 168 339 78 298 169 399 395 48 341 194 233 424 319 141 280 300 407 419 421 200 82 511 18 36 422 231 246 50 109 135 305 458 353 425 509 85 272 406 498 422 288 172 114 183 370 482 281 504 146 193 351 56 303 443 17 229 181 213 221 316 178 175 339 136 75 204 127 44 187 413 22 134 176 399 410 256 59 405 219 308 28 115 480 92 466 415 159 27 140 286 57 257 95 334 308 495 320 20 322 22 495 276 419 202 491 442 64 499 345 386 17  5 197 329 129 282 155 107 298 397 297 233 149 407 108 325 300 505 261 168 311 375 401 404 381 40 312 166 108 45 446 429 294 361 443 345 97 30  6 498 363 476 450 450 379 474 261 44 432 242 190 293 54 294 10 278 272 77 441 400 449 180 26 310 139 433 457 224 365 89 20 349 115 199 471 308 33  7 479 418 143 128 416 205 189  9 146 106 383 30 351 236 425 37 313 443 421 434 44 159 504 22 110 236 344 166 259 440 23 42 81 421 41 300 447 98 307 352 115 96 275 254 411 408 60 412 24 52 305 158 374 499 509 297 446 49 461 217 354 368 141 278 137 290 69 308 348 407 74 199 416 406 387 399 163 384 162 152 62 296 241 449 363 475 248 134 268 105 202 265 442 369 392 295 426 322 384 395  5 296 384 419 194 254 264 35 210 492 190 319 148 249 157 89 108 255 303 30 214  7 115 291 374 478 352 35 302 52 312 314 212 33 104 259 135 272 52 244 360 235 465  3 337 406 289 255 77 265 75 81 194 292 453 450 474 352 247 138 494 248 506 351 132 61 281 15 271 124 156 387 511 189 64 482 200 442 454 366 365 229  6 489 254 251 455 271 235 350 169 207 171 471 181 340 361 181 197  9 71 282 414  9 335 282 427 477 217 366 190 486 384 484 193 112 15 62 346 20 226 247 185 338 210 181 219 422 480 398 281 479  6 225 264 130 127 309 168 101 496 347 413 293 396 305 164 481 495 426 89 43 362 346 448 13 40 419 242 290 439 154 108 399 226 408 73 278 468 363 375 120 287 274 215 358 241 336 499 274 32 68 62 499 421 54 141 237 198 291 390 211 228 147 83 504 357 199 247 272 242 185 41 413 108 172 231 489 263 505 236 428 300 90 272 391 181 204 178 234 313 326 493 81 486 167 199 210 359 481 223 216 310 311 441 90 16 492 511 24 101 343 139 322 62 231 342 433 456 225 308 459 253 157 225  6 57 21 244 108 403 457 94 371 411 158 400 66 300 347 376 263 34 71 158 434 68 266 153 150 419  4 326 409 107 494 93 441 378 61 336 16 189 231 381 67 358 135 339 330 325 342 324 316 149 243 90 364 139 372 351 364 134 91 176 86 103 462 223 412 381 311 454 66 226 272  1 328  6 172 433 474 26 129 98 35 277 293 240 198 347 340 501 444 202 143 18 203 412 112 270 143 375 94 504 348 384 511 15 289 284 206 125  1 452 350 13 299 215 476 64 337 41 368 192 258 51 170 261 25 325 168 273 29 457 264 141 198 112 225 210 392 113 474 490 254 190 250 192 412 267 111 275 44 102 86 242 324 128 100 41 438 127 324 242 429 189 228 431 35 335 14 470 143 426 203 205 343 447 38 182 430  2 411 254 12 367 484 377 53 164 346 294 340 273 54 501 112 283 419 172 69 186 110 188 109 326 206 66 223 378 346 47 449 232 140 371 263 184 29 15 167 212 421 134 441 415 56 233 406 228 103 268 411 90 294 58 24 226 106 279 337 273 42 241 500 261 404 82 149 332 222 121 379 76 375 417 361 393 365 507 249 338 392 365 133 13 61 431 256 262 199 494  3  7 329 253 458 248 220 89 58 281 94 82 66 356 498 67 155 507 109 321 469 271 105 328 388 494 370 192 18 54 194 505 367 121  5 40 415 252 217 129 347 29 50 242 35 320 196 229 354 20 236 155 164 478 211 510 474 86 157 165 114 91 315 480 198 408 150 15 401 470 75 411 426 50 227 213 206 405 207 46 187 326 298 180 52 406 493 440 423 464 79 131 178 367 447 18 181 451 180 245 462 84 379 406 263 405 485 468 193 47 431 38 420 128 393 101 196 47 77 42 10 346 352 157 42 245  1 345 43 181 151 136 161 230 246 494 269 459 183 459 96 440 390 408 509 321 133 251 329 500 22 367 98 232 306 215 456 252 25 355 145 98 454 471 319 11 102 507 412 337 369 351 292 250 30 90 454 118 64 53 256 423 30 224 453 31 387 422 445 374 43 498 111 54 152 332 394 211 234 488 209 181 104 228 420 15 116 126 97 349 319 199 441 71 312 447 233 435 218 441 278 172 500 33 265 20 98 449 179 110 440 349 207 242 269 57 210 319 197 103 39 110 25 364 90 118 205 487 372 386 424 451 258 323 350 440 120 334 60 288  2 381 95 274 68 228 335 482 180 219 255 51 358 506 294 22 278  7 331 41 292 116 284 211 101 297 363 317 492 114 87 55 182 13 293 35  8 468 324 466 59 510 496 311 265 17 497 25 44  1 276 497 318 194 247 407 268 78 376 397 205 505 482 197 58 205 79 228 110 308 439 201 142 214 350 52 436 140 64 418 94 170 220 59 37 175 100 303 410 270 37 337 214 261 497 483 248 417 152 384 479 275 429 370 161 240 287 133 117 136 77 465 330 22  4 460 354 278 200 390  2 292 311 46 334 13 208 354 507 506 19 158 485 240 202 263 374 206 42 332 497 292 187 274 363 445 359 367 178 35 435 202 450 99 388 117 458 394 440 136 218 335 319 26 39 258 54 68 378 484 386 72 36 417 429 102 48 188 451 284 13 402 156 329 393 436 448 70  8 260 508 431 225 170 187  4 172 202 284 294 366 394 167 25 64 412 397 327 84 83 289 143 69 446 374 400 339 22 496 333 385 186 23 60 208 188 178 36 394 76 277 215 480 308 120 483 410 41 349 499 188 76 320 226 283 221 293 271 249 376 249 266 263 475 222 81 426 59 485 512 452 394 436 191 300 22 232 91 449 169 160 367 439 153 447 61 180 327 471 428 329 510 84  1 332 453 12 135 374 390 260 402 415 297 501 83 330 31 153 260 380 242 179 46 87 134 56 180 135 261 305 207 63 322 264 111 131 501 226 23 453 323 418 222 283 380 77 306 95 115 161 10 106 356 281 348 50 148 171 56 284 430 169 180 471 304 317 243 312 200 17 273 132 299 21 361 170 31 138 357 448 227 135 288 475 462 298  4 204 403 219 473 81 205 271 293 173 83 461 117 437 172 23  2 268 119 138 22 15 202 456 205 170 64 393 418 378 33 342 62 354 428 216 71 395 398 489 315 412 305 437 403 55 155 29 496 498 469 274 438 346 433 116 165 191 157 411 455 140 304 88 326 256 360 34 477 73 19 304 432 362 448 260 451 404 458 501 199 162  2  8  2 291 410 345 160 178 296 228 449 35 108 193 252 416 420 336 259 25 131 197 32 293 285 414 89 365 256 287 15 411 157 174 351 110 331  9 61 232 477 176 37 244 469 93 411 13 346 91 337 238 465 244 68 296 214 190 294 270 63 228 384 69 325 358 67 333 194 233 145 127 332 10 396 362 263 243 373 374 457 406 425 403 89 300 302 363 87 303 279 302 382 110 72 29 25 204 171 184 305 351 87 138 349 99 174 357 223 510 146 299 102 45 264 233 371 150 317 279 255 65 45 348 242 382 86 143 187 375 271 18  4 14 179 36 242 72 245 446 200 42 379 406 298 192 138 184 339 460 452 294 286 425 103 267 26 68 143 338 63  1 117 364 16 42 289 234 162 293 101 441 380 416 415 322 281 346 190 57 321 209 273 67 456 238 233 189 131 414 298 239 179 435 293 253 507 306 409 80 216 483 349 372 500 17 73 200 260 69 62 254 135 305 351 489 452 351 443 390 113  9 84 296 95 464 319 241 163 90 270 383 473 139 237 186 486 284 99 151 246 465 328 365 205 311 440 228 181 36 467 346 470 293 479 447 25 400 136 277 483 345 88 85 310 469 466 502 260 464 427 104 188 225 12 435 163 114 217 187 273 85 448 33 109 167 60 52 475 171 425 29 49  1 44 70 336 383 264 122 205 153 473 507  8 14 451 359 315 169 28 313 147 372 111 83 263 359  7 137 254 105 62 176 225 452 152 510 218 91 128 199 20 326 267 346 446 486 382 341 320 508 100 266 301 448 333 428 47 281 99 472 413 240 298 435 363 117 376 422 435 274 119 210 37 52 322 483 72 101 441 173 258 507 37 104 329 249 365 51 109 187 474 396 390 33 315 407 217 333 130 404 135 25 216 427 158 426 322 275 181 102 22 357 107 186 281 72 287 429 439 370 420 380 170 319 183 268 306 307 240 250 496 435 335 428 306 137 104 358 153 389 277 62 144 122 81 129 20 191 491 168 420 149 197 17 15 129 396 191 127 218 500 290 172 250 492 139 116 107 486 484 395 270 310 92 367 192 407 432 83 416 293 512 510 431 49 435 199 343 174 216 501 490 509 145 58 343  4 418 328 511 462 329 42 479 446 323 280 122 225 81 255 429 466 136 374 37 488 63 278 295 141 157 399 21 362 26 247 149 472 478 27 44 274 188 141 77 22 496 250  4 58 161 156 326 363 391 273 30 345 148 170 422 47 26 106 511 313 30 292 218 317 409 245 384 428 23 109 306 97 420 371 368 434 466 157 298 286 371 498 211 101 466 24  5 133 308 68 379 221 116 232 341 14 21 39 437 238 268 206 104 117 432 37 263 180 304 86 143 321 195 232 149 503 435 368 262 394 127 398 381 255 159 49 51 307 91 397 97 66 346 139 177 20 335 154 423 211 112 167 350 121 236 489 263 198 117 351 280 500 79 339 58 52 51 367 329 254 11 419 86 195 477 38 426 181  9 35 315 91  5 31 374 250 54 502 498 148 186 48 250 293 418 347 374 188 415 138 450 46 447 403 349 167 233 137 52 20 430 13 284 190 93 436 172 33 312 157 170 232 319 434 498 489 46 422 325 366 283 388 512 329 309 127 465 70 176 326 500 409 326 148 497 134 135 247 268 45 208 184 479 114 349 271 39 495  4 256 370 489 186 110 386 56 65 203 310 477 422 316 259 45 442 431 30  1 246 422 336 444 14 100 180 162 429 506 469 110 226 427 197 472 257 11 509 317 128 74 503 309 431 104 215 245 147 454 432 448 32 397 185 464 218 320 154 253 52 367 454 509 353 48 348 322 41 62 128 53 471 379 163 346 462 193 449 216 94 360 26 175 378 92 191 328 313 372 452 355 232 305 194 373 357 457 389 433 269 434 296 309 71 478 198 259 88 418 102 189 112 370 215 366 425 266 234 210 105 234 196 61 177 291 81 403 464 217 305 452 21 109 408 457 120 99 342 37 310 81 253 417 245 119 153 201 31 396 401 209 60 241 375 95 284 158 100 259 225 22 17 187 342 52 390 41 106 475 293 112 341 143 178 28 174 60 197 204 360 93 499 154 210 109 42 262 376  1 227 149 130 201 426 392 198 311 301 376 273 245 371 503 313 55 402 14 488  7 349 474 501 387 349 132 264 502 79 181 333 171 436 119 72 216 410 164 214 220 185 95 132 202 12 472 479 180 156 28 404 238 177 321 502 324 74 135 296 26 295 270 263 414 42 457 474 423 61 327 107 177 113 70 274 484 397 240 196 55 463 435 227 375 500 271 261 407 32 276 103 346 32 421 260 118 85 185 214 42 257 266 168 459 457 404 166 446 357 382 296 33 378 243 295 301 408 228 50 93 419 334 379 304 162 370 322 126 328 470 103 219 326 449 121 460 150 241 149 279 167 298 197 414 100 103 306 158 11 49 252 156 321 335 13 347 192 177 27 81 401 351 489 63 414 76 155 162 207 373 436 338 461 23 106 511 423 378 124 40 289 321 475 392 21 180 408 332 375 85 495 416 144 223 36  1 405 137 445 52 154 268 219 444 233 45 284 302 39 43 218 54 265 67 512 218 269 244 146 355 59 43 86 351 124 140 278 489 309 60 45 495 302 99 119 159 501 493 278 110 142 251 155 475 374 227 322 396 118 71 248 327 444 226 82 389 340 24 106 262 352 480 129 219 465 68 35 119 485 22 168 59 173 229 364 208 354 489 112 447 192 441 407  3 479 269 354 241 177 416 126 248 263 378 164 235 413 355 187 398 327 231 464 300 473 400 419 98 380 14 158 117 251 460 463 359  1 127 500 447 280 87 144 125 64 315 364 331 395 202 177 434 391 414 240 47 335 137 437 482 254 256 433 76 306 325 114 365 200 461 395 427 83 55 375 312 212 146 315 30  6 380 251 63 428 507 276 434 312 390 489 33 416 128 501 243 90 49 153 133 118 151 184 77 501 330 512 328 34 502 174 221 267 443 334 407 373 148 120 122 57 422 187 52 251 104 399 240 275 203 94 81 429 340 45 318 475 364 205 176 277 96 329 400 406 277 115 332 71 129 85 187 56 404 175 162 323 258 384 278 418 222 43 368 22  1 155 189 504 197 311 152 93 439 277 365 504 309 47 391 372 447 108 369 12 218 506 100 120 366 496 368 351 449 483 359 510 433 406 314 448 279 104 447 395 478 336 101 181 430 46 145 51 400 357 83 321 58 203 112 490 226 166 401 461 50 106 135 250 325 132 15 116 157 104 162 381 124 381 312 394 503 12 166 202 64 469 109 237 470 371 212 388 201 298 340 41 63 129 414 222 411 406 488 399 164 420 237 80 144 498 494 29 415 465 46 276 221 397 116 283 375 111 397 469 395 508 375 423 474 334 304 77 162 365 266 222 468 362 24 449 272 305 372 487  6 84 368 61 402 483 331 352 201 336 158 155  5 407 137 420  4 358 115 92 39 270 244 179 111 287 380 72 267 368 286 102 170 124 459 225 354 240 397 50 449 182 294 319 79 469 451 152 137 487 480 411 359 83 131 232 191 348 261 432 228 178 367 118 424 220 40 47 467 317 267 12 170 17 492 391 395 280 290 328 407 34 323 148 228 134 104 111 91 136 33 120 381 127  6 52 340 211 76 451 436 259 87 135 286 210 455 349 136 416 116 456 180 55 110 246 458 486 97 47 410 434 276 136 131 372 324 448 152 358 66 380 124 114 366 123 246 168 54 71 431 215 144 275 311 119 58 491 496 46 57 59 90 41 225 95 150 216 124 333 78 77 17 154 113 295 360 467 66 236 423 347 366 304 132 129 187 429 395 380 33 350 176 64 63 147 352 111 23 362 211 12 503 88 142 439 48 55 442 224 226 214 428 137 76 489 26 121 47 113 115 283 21 320 494 273 506 34 251 387 417 131 46 415  2 208 48 463 171 76 448 458 292 161 277 55 374 480 376  4 237 489 464 19 496 28 447 377 405 354 295 500 297 35 246 331 284 238 318 456 476 400  7 110 354 126 173 69 506 34 174 307 44 350 234 425 177 78 345 174 222 409 492 331 167 444 286 14 244 51 164 305 441 81 351 337 117 370 137 382 11 189 489 174 283 24 100 165 430 197 122 400 252 335 289 62 433 21 189 124 198 63 196 25 298 144 126 219 433 92 495 36 222 121  5 370 242 490 279 198 237 62  9 372 209  4 80 474 353 172 491 49  7 410 321 84 208 234 358 242 22 344 293 471 124 420 447 416 144 122 306 139 165 418 57 485 469 38 60 193 312 485 194 285 207 260 125 237 353 136 364 379 118  6 80 178 375 407 78 229 489 306 360 108 482 75 26 111 395 227 18 422 93 244 66 169 53 427 446 127 57 62 10 255 102 123 214 294 225 331 315 387 251 70 379 160 457 417 409 259 87 163 86 108 52 489 410 176 70 475  6 333 252 367 57 453 118 187 505 141 294 351 319 163 449 469 386 388 152 464 489 169 83 272 176 230 129 458 256 85 304 475 500 56 115 468 469 127 161 385 313 58 27 113 393 121 239 26 191 389 243  1 350 249 376 175 307  8 422 375 218 489 273 412 57 387 271 276 205 365 317 227 434 166 10 483 371 295 386 494 152 404 110 482 391 297 504 59 78 211 197 287 181 415 282 326 151 277 150 492 18 276 182 31 490 230 303 225 179 158 31 44 456 262 339 72 324 150 489 200 442 173 13 458 468 207 53 67 437 257 490 215 376 390 212 333 507 233 425 166 209 492 58 33 17 87 346 398 242 502 427 311 407 479 344 373 16 190 32 63 195 346 458 192 243 356 94 149 234 45 210 172 139 239 77 337 190 138 126 51 123 454 469 234 62 422 101 288 212 500 426 132 491 329 93 83 278 402 101 397 15 244 391 291 443 476 28 408 438 324 401 25 458 47 339 197 291 23 151 13 436  5 205 241 380 311 211 453 230 313 250 318 278 307 46 197 85 62 23 419 158 365 173 12 243 442 500 384 500 12 375 328 268 401 245 418 66 467 31 221 447 89 155 83 140 350 265 277 342 395 474 358 68 84 218 473 474 237 325 234 455 86 444 140 130 495 425 460 242 267 176 464 13 236 360 241 288 101 203 394 261 150  6 206 458 391 263 377 315 414 370 131 10 50 205 383 125 86 444 288 290 274 39 348 380 231 42 455 250 55 403 459 405 306 124 416 13 279 409 502 399 79 279 404 208 63 13 171 276 244 209 434 348 367 102 204 13 246 323 360 120 291 255 218 313 232 285 291 14 398 307 474 34 248  2 492 25 113 476 493 353 140 239 197 145 119 229 290 30 239 141 279 248 17 308 55 119 31 252 418 13 491 45 431 202 73 10 221 313 351 55 164 83 213 435 143 270 505 488 43 100 176 283 70 18 374 425 190 506 296 75 485 472 277 497 273 353 249 135 294 39 332 349 307 117 199 111 223 36 32 141 437 75 247 352 237 278 28 467 353 191 506 337 14 350 132 23 12 405 443 495 101 473 372 65 432 42 350 86  2 292 331 86 127 307 389 466 443 397 512 105 446 207 61 357 380 137 251 351 116 84 295 61 104 169 402 419 286 450 219 469 294 93 112 208 150 151 123 315 11 277 128 107 148 53 373 471 37 178 109 59 280 434 493 426 506 111 44 48 206 102 483 21 30 187 250 221 141 453 267  2 92 493 114 252 264 394 479 44 465 210 432 35 363 104 181 248 224 147 388 300 510 328 313 121 310 223 490 190 38 259 161 228 71 307 170 426 390 201 399  5 118 367 381 399 497 223 105 75 452 302 259 413 26 484 447 127 57 25 416 111 419 480 500 191 122 303 177 312 52 96 141 459 339 101 487 408 343 209 440 30 420 239 264 486 257 477  5 278 115 119 340 160 278 17 240 262 457 317 83 327 70 345 489 399 260 458 264 201 490 271 260 386 224 265 343 114 487 344 134 368 375 409 263 352 320 367 266 76 60 310 21 14 432 82 300 427 97 482 107 287 265 170 405 337 238 138 98 255 395 480 256 182 148 385 285 89 477 83 376 287 137 313 416 21 293 239 387 23 406 175 238 87 187 94 102 329 440 322 263 464 470 301 286 403 246 43 318 90 418 290 15 293 332 335 154 298 15 38 103 39 238 492 224 444 420 76 21 143 77 216 470 367 421 63 311 424 390 42 332 329 498 287 154 145 300 383 201 372 410 151 19 114 40 224 114 217 309 373 230  7 85 189 102 345 277 355 109 474 23 437 474 288 315 447 199 218 151 310 408 142 106 33 168 423 29 273 435 34 375 339 32 425 46 428 115 487  8 145 27 169 233 17 59 88 179 302 246 262 148 224 55 445 194 391 363 107 284 254 467 82 277 103 499 128 387 233 459 181 10 284 408 435 103 328 153 351 469 405 328 329 270 222 76 414 131 263 375 40 276 487 282 295 371 296 505 85 280 265 299 206 125 356 512 17 86 223 454 306 501 282 129 404 280 123 360 340  3 243 41 179  1 42 153 415 449 226 401 371 467 411 349 124 381 164 74 98 471 91 247 431 30 375 99 132 238 239 436 86 72  8 328 160 190 174 23 165 112 30 41 442 379 114 94 466 444 376 503 370 151 335 53 391 406 48 51 121 406 266 189 255 134 130 360 389 449 82 91 326 77 41 85 150 316 321 135 75 213 339 132  9 32 351 94 271 214 237 123 261 99 119 48 353 322 478 436 296 293 484 313 511 59 178 212 112 70 392 128 31 445 14 137 478 14 86 59 21 428 425 240 250 100 105 223 238 64 13 104 404 64 105 354 415 402 70 171 83 137 150 13 130 343 139  5 309 46 86 76 251 389 16 115 306  6 243 204 417 56 309 434 332 190 276 163 500 337 312 140 165 35 259 51 289 65 475 473 322 359 434 490 494 66 430 222 319 29 169 167 418 343 226 434 135 163 142 442 250 20 440 369 16 64 62 20 46 153 122 375 255 76 388 409 270 441 462 175 430 263 290 232 226 169 91 114 213 344 142 207 178 480 35 18 387 426 187 136 18 478 495 112 145 70 16 77 478 402 403 240 504 439 165 460 107 222 445 120 147 357 67 266 337 226 67 316 499 136 143 302 213 413  9 17 150 396 301 50 505 396 16 320 212 218 159 45 162 339 455 46 437 208 259 481 263 29 104 16 158 507 300 45 41 85 290 324 16 72 345 327 364  8 354 66 81 509 250 113 401 417 291 369 419 68 427 420 104 500 489 223 510 359 202 436 485 106 70 188 118 228 365 459 476 22 491 224 212 289 81 466 319 273 10 242 46 321 464 466 51 148 300 312 197 249 110 466 366 174 482 425 340 264 353 252 429 124 222 374 379 108 160 82 366 363 235 150 355 293 37 139 388 159 256 344 72 493 499 470 290 258 238 274 93 460 158 409 446 351 185 267 225 190 436 331 299 131 161 75 497 430 162 270 206 455 478 375 268 170 457 420 432 193 356 213 195 133 409 381 136 163 424 199 352 469 402 57 438 75 361 247 281 120 131 497 46 227 421 165 72 428 279 480 251 356 276 231 128 26 272 276 301 430 219 99 346 398 13 426 286 262 244 47 18 267 501 308 15 408 425 269 30 224 210 184 193 294 480 160 404 237 66 243 233 267 85 169 140 395 386 310 18 269 496 432 265 142 57 324 189 433 65 231 245 18 496 129 178 454 177 256 300 365 229 396 48 231 22 136 96 420 362 229 37 130 199 356 104 331 364 425 176 219 222 61 229 468 456 328 239 319 69 162 438 112 90 105 62 245 487 249 494 337 157 231 58 451 126 81 366 152 135 381 355 290 147 177 302 128 234 242 129 403 171 147  6 122 510 248 429 222 120 267 298 177 229 356 32 64 263 250 19 188 186 212 116 458 140 477 65 318 171 499 120 83 475 497 297 234 158 125 375 346 305 178 222  7 416 311 493 418 236 482 50 195 441 72 132 301 147 344 36 98 135 143 277 273 439 430 94 475 63 103 66 267 319 396 104 202 234 51 127 359 262 382 83 268 442 483 372 271 331 79 361 300 172 201 493 187 390 110 429 404 47 506 16 84 53 335 321 418 88 359 108 433 309 119 28 152 124 366 344 441 254 426 130 208 207 317 481 264 69 213 33 307 475 189 440 313 224 46 105 68 95 485 20 123 102 159 342 110 409 210 115 90 193 343 430 427 294 489 56 103 279 290 217 408 34 82 222 391 274 437 505 424 11 118 431 98 149 477 370 221 428 473 218 54 354 261 371 265 336 249 391 490 188 344 392 232 416 127 228 33 125 358 439 259 463 176 103 249 434 353 415 83 72 453  3 421 502 188 449 369 225 231 25 469 207 155 121 332 26 14 471 441 62 460 145 173 25 486 202 224 172 35 225 223 265 416 141 354 49 441 276 45 46 138 399 121 470  5 188 458 240 338 172 334 293 364 73 33 63 455  5 299 68 422 488 504 402 35 168 172 183 312 360 346 461 165 56 211 244 285 207 298 420 303 185 468 349 26 292 55 110 39  8 205 512 397 181 351 65 223 124 234 176 264 341 272 234 290 264 362 221 413 41 374 127 22 182 122 453 97 230  2 88 481 382 496 411 285 125 73 476 334 342 31 383 15 38 343 280 184 440 404 178 202 28 456 291 105 505 144 204 203 82 339 57 65 305 441 196 178 309 355 24 141 301 66 275 212 356 278 207 463 433 155 440 74 412 232 242 379 210 44 300 492 254 359 243 16 92 434 122 341 304 142 426 53 130 221 419 434 290 472 88 387 195 464 327 334 206 423 40 285 256 158 148 394  2 405 70 140 504 96 311 229 61 488 409 357 446 84 205 36 247 387 304 218 120 104 117 89 343 36 283 232 510 132 300  6 351 467 281 172 456 505 384 353  3 171 472 231 155 101 78 40 64 216 323 334 22 293 332 19 436 99 357 44 337 318 272 371 370 268 70 465 160 105 22 245 405 458 15 358 323 408 414 216 221 116 304 358 379 266 278 319 247 305 261 334 57 351 484 85 378 483 180 501  6 27 271 56 345 484 452 280  2 416  9 37 503 190 369 224 472 369 183 78 358 252 314 311 441 419 59 97 38 245 459 323 38 185 142 501 117 108 290 314 396 436 335 415 448 428 56 374 340 259 384 336 54 460 45 282 439 368 61 497 310 179 351 378 140 296 211 305 471 294 507 359 345 393 128 284 80 59 179 363 190 146 231 502 222 338 229 451 389 268 502 126 231 210 69 22 123  3 177 292 87 500 27 481 441 380 422 137 167 174 501 377 216 85 64 168 228 299 58 296 472 335 337 285 211 440 111 26 203 322 380 34 230 39 303 339 354 413 277 370 54 216 21 388 33 139 234 313 201 290 367 412 438 91 90  2 285 155 43 315 116 125 184 402  2  8 512 32 104 52 506 296 275 391 387 74 247 122 10 204 50 437 224 387 512 394 115 228 113 265 402 499 487 340 395 505 313 108 34 322 260 173 100 413 377 502 164 177 275 396 188 405 470 464 468 376 107 52 327 117 453 74 270 333 303 416 62 477 133 216 169 111 428 235 374 189 276 302 28 436 61 421 19 184 491 350 118 405 429 507 61 111 191 156 464 219 401 299 52 64 190 469 195 69 109 301 263 407 395 275 136 367 80 74 214 489 178 491 182 452 344 111 167 323 487 287 356 418 113 482 505 310 93 74 63 326 189 141 230 173 410 406 380 347 128 480 41 496 151 413 476 498 300 108 446 31 332 493 363 367 23 221 159 47 228 342 206 336 190 137 61 334 234  7 279 409 274 257 270 105 313 477 406 18 332 284 69 90 474 447 177 219 26 214 40 196 192 43 462 410 108 445 103 291 112 471 496 21 95 305 462 65 457 92 251 476 438 161 418 258 413 38 323 493 199 108 388  5 178 465 459 227 87 428 360 332 495  6 397 193 169 399 111 357 118 60 419 47 283 318 263 447 275 153 239 425  7 421 137 16 190 109 61 288 263 315 493 280 466 24 211 150 504 293 136 448 507 235 81 249 55 287 143 355 162 156 297 323 431 287 60 241 28 499 433 53 468 199 470 479 127 287 220 325 505 196 372 435 335 285 507 188 75 376 115 73 362 293 290 10 250 259 402 511 93  8 326 271 258 282 144 311 264 193 282 127 349 119 61 469 484 194 407 486 337 106 457 229 381 507 248 71 292 98 429 251 245 401 470 85 185 145 420 318 32 172 156 492  3 82 141 422 174 290 165 55 37 407 67 319 441 419 208 405 441 41 81 156 90 473 174 101 32 184 180 327 345 311 140 268 204 199 106 247 70 108 493 39 233 324 451 369 225 309 471 398 72 472 105 321 86 402 286 23 134 312 174 225 96 397 172  7 463 268 31 166 260  8 177 274 335 345 141 18 265 34 369 443 302 470 388 354 144 405 209 183 28 401 347 175 19 233 439 496 272 70 352 504 394 206 255 363 433 27 382 66 318 109 291 442 462 201 206 320 207 372 401 231 339 179 27 19 86 368 390 252 442 227 394 224 93 64 435 273 331 445 116 25 394 101 146 271 494 282 192 337 31 454 311 178 110 286 37 310 135 212 149 397 70 120 212 187 141 467 71 40 337 269 152 396 39 121 88 252 67 232 474 364 189 121 504 473 162 56 368 419 74 416 314 176 59 135 107 209 252 331 243 254 428 271 22 351 371  6 509 438 319 429  7 237 199 260 146 283 89 104 162 379 329 466 289 317 441 49 332 28 343 63 213 167 141 129 279 151 31 239 190 356 493  7 147 411 303 57 451 110 320 397 396 303 69 283 420 170 356 239 105 260 493 439 68 173 491 212 144 195  1 467 85 502 107 352 161 227 111 31 55 355 148 222 45 18 189 138 143 304 174 269 200 223 429 263 511 298 193 174 500 60 484 369 379 227 343 162 360 32 236 477 498 452 499 290 251 451 207 316 217 18 210 135 110 427 83 179 27 309 11 227 426 451 87 75 69 496 274 102 318 363 49 49 173 91 268 44 369 325 285 137 396 393 179 419 378 444 78 235 208 197 70 127 294 84 254 397 100 19 431 428 213 430 219 20 28 18 260 269 83 335 261 149  6 355 336 435 105 243 402 111 471 33 365 428 149 370 121 376 16 258 274 46 335 490 330 96 288 286 274 260 114 36 247 120  8 80 463 275 29 282 450 100 30 173 136 118 191 106 397 300 361 128 244 74 131 388 154 296  7 367 497 76 282 219 348 345 512 73 301 250  3 211 317 85 167 363 133 378 484 18 436 120 180 294 432 484 262 121 181 449 450 335 271 253 31 425 91 345 339 314 302 362 187  4 19 243 237 131 240 400 278 106 176 371 292 215 146 142 391 401 298  1 74 54 378 112 448 34 367 337 320 165 286 30 448 147 130 18 157 222 32 55 357 34 24 249 93 369 239  2 362 494 335 57 270 409 100 396 444 234 489 73 18 424 371 402 386 283 90 254 385 283 118 221 371 324 225 449  2 29 411 232 373 137 453 343 70 442 466 305 240 334 418 155 178 279 301 374 192 300 473 494 399  2 92 180 43 214 447 23 123 463 285 145 279 201 10 206 381 342 157 166 216 162 149 349 233 395 353 113 59 20 392 248 421 419 11 52 283 469 268  2 202 306 376 67 12 216 221 58 386 404 223 290 456 232 441 481 139 395 320 489 295 145 481 504 475 139 308 376 260 454 85 446 388 108 260 375 236 420 359 499 487 351 137 228 26 247 235 281 249 34 390 71 124 452 294 254 140 405 101 391 80 203 403 440 147 495 64 16 507 352 25 200 150 423 294 363 122 364 44 245 460 53 479 140 336 83 319 333 308 66 410 308 159 376 426 491 54 267 244 36 307 81 95 92 52 32 392 340 198 202 196 476 277 189 149 464 194 23 188 269 84 160 474 214 501 241 441 117 168 387 187 247 393 69 124 205 508 183 149 407 208 70 476 13 246 312 183 471 319 476 451 274 494  7 430 423 126 286 343 508 73 497 361 407 176 145 382 286 369 108  5 381 65 444 461 45 90 366 422 29 81 469 394 194 453 105 484 462 391 436 495 151 300 469 110 433 94 343 197 96 491 111 434 278 365 138 335 171 150 279  3 146 90 162 425 182 128 181 93 228 138 111 243 120 248 505 109 235 488 192 453 210 432 81 375 116 177 394 427 367 213 299 223 42 419 132 389 275 288 100 228 493 498 353 382 174 163 90 38 445 143 128 272 79 454 132 429 211 371 203 127 110 251 42 101 358 264 196 252 186 222 492 271 383 186 131 101 255 192 321 494 23 279 470 382 39 50 72 356 23  4 349 254 448 188 148 426 36  9 234 401 294 196 60 461 430 360 183 160 11 276 222 435  8 52 482 142 213 396 478 45 294 188 395 128 353 322 321 390 54 230 144 74 469 272 263 153 243 42 278 311 265 100 25 470 32 238 453 455 342 217 413 371 316 35 149 261 64 237 178 157 418 321 368 474 84 500 12 367 340  8 458 139 225 392 199 459 71 349 456 17 373 418 203 190 312 390 333 33 438 274 70 24 304 287 444 405 201 40 118 55 251 430 341 200 266 169 499 317 181 452 461 378 497 446 362  1 377 98 362 61 372 229 241 333 495 30 180 407 507 67 350 378 356 18 332 346 331 193 234 355 133 338 119 235 123 178 185 383 482 255 200 442 79 147 295 128 436 112 97 78 396 230 196 453 381  2 114 20 101 476 311 230 72 332 383 478 251 470 114 16 498 342 180 13 501 91 35 87 246 116 32 379 255 346 378 36 256 192 129 199 108 324 375 226 15 234 322 192 473 485 262 433 494 194 492 484 136 296 75 268 243 391 229 84 423 63 281 28 235 494 329 281 87 32 103 123 66 201 123 467 290 306 224 466 506 489 318 443 400 101 176 404 139 236 490 12 392 175 73 47 290 236 337 352 226 292 88 427 86 486 295 181 154 132 485 366 458 252 386 369 101 419 458 237 225 29 399 172 30 46 286 392 430 307 271 16 392 30 248 234 78 403 426 204 361 388 85 460 139 477 277 351 441 362 27 324 320 199 210 245 262 141 35 345 374 84 256 322 325 93 136 487 219 273 172 415 195 282 37 365 297 488 495 306 135 243 186 453 189 502 204 336 212 420 400 512 403 385 107 374 119 461 410 74 374 212 244 347 75 103 262 506 155 65 504 297 279 229 205 320 352 102 470 11 135 66 372 101 147 218 298 249 90 252 253 314 414 204 402 80 287  5 178 400 73 173 112 120 405 173 381 250 148 35 227 120 217 36  3 164 109 187 247 90 400 362 188 138 93 393 253 500 30 256 472 374 323 132 406 321 170 47 27 148 506 341 102 93 158 365 182 440 239 11 454 434 146 350 273 119 497 435 216 164 339 115 57 127 28 428 221 339 196 242 511 126 78 79 195 310 431 100 217 274 219 421 135 358 122 356 240 48 290 169 156 251 49 156 123 276 418 128 282 161 227 370 416 223 124 115 456 23 512 241 173 415 330 454 118 465 132 280 213 165 316 90 183 357 195 170 481 149 40 67 241 92 196 290 24 49 406 203  1 253 358 360 429 461 390 493 13 167 495 452 408 341 479 325 390 327 432 245 123 178 13 181 107 113 118 143 493 397 84 206 86 52 276 434 72 481 84 147 107 219 305 220 216 444 151 500 237 270 261 477 220 351 218 389 105 318 302 395 212 15 104 275 479 232 312 53 57 437 171 253 330 136 173 14 309 27 209 84 107 468 106 115 163 350 462 263 288 366 24 71 27 162 133 348 476 504 96 395 171 419 490 501 146 495 462 261 119 198 70 281 116 486 486 336 195 448 37 412 11 162 146 307 447 382 186 195 203 180 158 137 292 163 343 183 47 126 87 492 369 312 174 427 483 355 86 222 494 89 50 120 301 165 119 299 280 329 154 260 239 410 30 374 156 280 26 43 407 449 334 53 363 172 220 436 317 462 133 191 207 339 468 131 252 232 308 483 276 442 494 227 34 33 89 56 51 466 437 188 348 176 325 80  7 93 203 34 459 374 266 295 132 412 454 273 80 374 260 504 237 104 22 229 206 260 392 202 24 177 439 61 188 121 212 499 90 303 200 222 294 309 213 70 357 483 358 195 452 72 348 477 158 75 508 349 503 119 102 214 353 205 391 19 97 372 226 389 27 157 125 312 270 13 496 368 52 96 148 96 69 323 199 59 185 162 507 246 137 335 223 195 231 86 218 502 460 430  1 11 25 425 388 414 70 494 234  8 437 484 337 225 448 232 404 372 379 451 491 405 422 228 233 425 280 291 420 377 272 38 423 495 165 155 258 339 255 337 283 115 100 401 212  5 137 262 399 117 398 177 283 416 258 373 272  7 281 102 16 491 499 425 343 44 272 281 255 466 219 326 285 414 44 296 307 399 318 377 102 281 468 219 333 487 343 396 18 144 406 243 35 379 86 503 509 320 380 360 284 369 182 421 476 137 251 411 268 352 115 394 165 173 387 166 496 225 281 274 425 212 283 368 443 364 158 325 438 338 333 87 507 293 79 220 286 51 181 160 354 360  9 163 469 482 133 398 416 49 207 251 126 438 260 399 472 231 277 358 453 311 10 148 461 169 290 140 447 286 288 169 504 35 403 492 43 440 319 305 441 156 384 262 144 498 57 174 239 143 270 168 304 77  3 430 174 433 11 144 153 167 43 486 20 134 269 22 501 239 34 230 387 383 476 217 58 339 354 327 388 181 498 431 434 341 328 267 258 278 209 192 219 130 343 325 58 415 196 69 123 250 355 425 31 511 190 92 332 59 306 460 381 242 259 196 352 186 431 235 357 372 212 196 46 247 197 242 263 365 372 260 164 75 209 107 25 263 165 285 122 67 224 319 282 455 49 312 469 353 327 12 336 368 365 281 425 84 250 492  6 229 385  1 17 493 215 12 395 198 289 106 413 129 428 502 25 450 479 478 270 429 181 433 262 30 418 490 240 120 345 15 339 205 225 402 259 42 27 89 120 172 44 157 413 181 502 352 503 402 434 170 161 290 389 128 432 242 255 342 441 323 339 125 374 340 256 39 47 444 428 501 377 188 329 248 159 459 167 446 257 453 74 468 333 172 490 269 266 220 244 442 221 289 118 271 186 199 85 452 372 366 469 466 53 224  4 35 108 95 14 10 166 283 336 387 68 249 415 124 357 279 376 88 409 489 221 15 381 382 72 164 21 493 359 59 243 237 473 217 242 301 389 470 510 178 225 129 131 206 271 215 478 102 124 335 26 369 372 63 214 418 259 85 390 111 308 329 404 148 287 57 372 235 222 462 450 187 57 511 228 354 298 105 314 36 49 427 300 432 171 91 226 31 345 126 129 148 45 183 219 305 359 298 321 129 46 69 259 260 472 237 258 70 437 247 314 511 200 447 59 465 121 350 418 105 403 341 193 268 434 216 408 97 241 152 436  7 457 500 98 481 254 77 410 454 310 124 468 235 193 337 384 502 482  8 353 258 391 95 343 147 493 382 102 59 451 305 453 235 79 210 29 90  1 107 108 125 127 327 413 233 48 477 340 40 503 251 116 473 394 286 394 421 444 345 236 186 244 117 350 56 244  4 205 166 371 118 60 155 149 383 271 322 373 270 79 59 86 143 439 92 229 398 235 116 445 108 104 408 307 476 437 86 293 449 473 444 280 495 429 118 412 28 107 269 432 12 434 459 19 380 13 54 339 426 264 345 409 54 181 220 163 27 473 167 153 115 54 174 192 304 350 163 202 205 34 182 266 404 248 465 242 124  5 287 462 12 203 392 152 20 425 164  4 17 380 108 69 118 347 66 361 321 489 434 212 20 266 431 369 236 369 436 217 460 509 127 303 371 463  3 359 491 449 273 24 348 76 503 136 246 159 322 132 440 12 472 381 317 368 200 345 63 373 206 220 207 91 51 146 166 290  6 365 291 264 332 183 142 454 308 279 508 386 170 156 365 458 230 444 212 223 442 214 315 497 312 384 272 413 338 262 277 77 358 245 469 510 158 289 67 197 222 418 491 52 24 306 208 438 383 165 267 112 392 350 308 484 440 474 14 363 40 389 384 99 80 245 270 417 289 466 116 215 439 145 316 150 110 333 403 352 70 326 182 66 277 45 93 288 441 366 150 44 93 507 112 296 81 176 193 116 85 455 161 448 17 25 59 12 39 193 99 39 337 244 375 451 194 435 321 427 388 389 338 100 234 404 96 470 262 453 107 24 48 29 109 476 297 94 373 412 381 240 433 370 191 205  8 69 225 152 175 272 258 276 69 282 361 343 341 473 345 198 212 235 30 373 338 488 326 242 200 360 91 90 312 324 19 58 283 370 498 403 204 278 335 466 428 470 239 188 280 288 132  1 331 406 282 488 93 499 146 37 26 115 246 477 178 74 407 69 350 50 230 488 207 19 179 266 75 318 279 59 87 68 322 100 291 476 361 402 431 312 168 113 104 386 40 319 349 395 100 149 358 173 327 371 116 469 401 415 414 342 98 449 57 146 384 228 326 132 59 449 397 85 470 278 507 433  1 16 318 269 511 459 316 468 120 221 131 450 244 358 351 368 450 148 260 64 100 401 259 475 62 463 460 296 251  3 258 255 244 78 416 296 160 337 68 420 315 337 428 257 345 71 242 188 127 447 404 309  1 481 255 168 467 264 167 17 396 299 466 158 184 444 281 295 385 396 191 406 462 204  8 251 218 232 494 226 318 36 29 487 69 115 419 106 355 435 126 509 439 292 116 338 324 238 276 384 407 30 429 397 184 361 331 234 438 164 28 316 80 76 402 134 326 111 276 500 68 121 22 27 323 402 392 300 82 446 266 208 27 85 24 11 180 276 496 13 509 186 129 453 459 309 486 19 29 402 258 101 119 129 181 405 108 85 81 297 248 107 431 41 472 289 269 333 387 49 443 54 280 236 268 123 187 258 494 317 277 63 406 451 329 290 254 161 421 247 332 177 182 491 282 178 375 74 342 507 176 32 478 13 431 138 362 213 271 101 82 296 145 426 352 152 102 325 425 227 86 317 184 244 10 84 198 232 16 449 267 482 91 325 349 459 128 349 160 238 269 317 217 242 319 448 476 89 439 54 383 129 63 352 14 43 394 76 127 246 127 73 58 133 137 160  1 196 125 407 324 372 260 37 174 344 299 445 506 169 25 185 102 508 69 149 199 377 317 472 241 106 227 58 257 329 453 338 135 487 332 397 38 262 459 188 107 87 342 384 392 269 396 265 299  6 441 132 284 289 20 27 43 213 56 88 45 119 250 79 74 74 117 227 173 418 129 89 218 348 304 194 242 130 147 403 405 64 17 300 140 80 203 389 274 40  8 172 109 51 493 374 255 477 265 347 465 248 109 100 261 224 484 342 487 485 285 487 346 151 129 385 214 404 311 18 221 140 415 255 162 294 15 320 489 37 223 19 433 473 271 24 10 459 129 263 156 420 123 201 475 287 498 300 283 320 173 19 290 28 155 199 108 26 172 441 480 23 173 396 64 181 116 161 249 502 130 113 379 344 273 126 340 260 249 453 91 298 494 49 87 341 42 450 386 152 377 26 501 103 466 173 344 137 326 183  2 400 195 269 86 186 23 84 56 357 39 331 498 418 78 441 92 180 203 247 235 192 390 410 236 97 112 319 202 459 27 445 196 182 390 66 346 409 146 434 12 254 490 133 383 235 462 73 304 443 458 152 281 234 239 73 59 264 27 440 462 511 131 103 309 364 51 68 367 477 60 325 117 267 94 133 379 23 176 433 474 418 176 155 491 375 187 246 62 396 309 484 462 189 323 23 482 310 407 331 242 304 280 381 259 391 188 348 235 130 188 373 226 390 166 219 371 411 362 251 460 93 387 345 232 129 213 278 298 102 176 217 325 12 74 309 468 411 36 432 457 115 157 171 92 284 130 339 259 464 179 373 184 498 45 68 499 295 140 491 476 159 504 149 107 332 334 15 108 287 353 373 316  8 86 422 393 490 424 423 217 181 497 461 269 490 294 121 485 215 456 317 281 322 345 165 327 140 214 462 291 376 50 26 498 356 489 10 492 400 393 131 372 378 26 485 491 466 389 511 412 64 424 98 264 302 109 80 390 391 75 250 257 116 35 155 249 256 432 357 178 457 512 63 278 392 159 189 344 288 280 11 96 252 333 126 256 245 365 355 111 411 62 143 45  2 343 417 394 334 296 332 483 66 398 264 75 508 246 149 337 239 204 197 355 411 205 370 188 137 459 360 462 376 74  4 195 195 241  1 197 39 464 412 120 443 277 243 130 223 224 181 475 109 65 10 70 119 64 481 205 330 63 180 250 243 327 394 38 227 384 10 373 42 125 41 186 473 411 22 27 477 308 169 181 419 70 357 50 493 410 509 313 57 257 15 32 274 69 198 33 110 123 174 104 231 84 472 343 73 175  1 41 205 412 120 16 169 394 431 487 270 493 54 87 494 175 161 43 146 142 477 61 449 511 459 89 338 57 188 255 424 166 250 494 166 240 220 81 202 403 430 487 221 140 128 509 124 352 216 100 172 84 156 304 433 149 382 460 476 210 511 435 337 360 482 111 427 310 440 464 229 333 486 295 509 365 480 309 442 85 125 172 413 23 238 118 302 316 312 160 160 96 97 455 93 21 458 502 374 446 499  5 305 53 62 336 24 135 307 158 26 258 507 443 145 368 138 285 181 398 274 111 328 433 13 317 330 16 212 347 379 115 362 266 163 194 63 452 180 345 247 374 381 127 142 253 179 483 12 106 460 249 502 49 25 497 321 187 132 242  9 503 311 507 198 388 165 458 154 296 439 151 169 296 21 23 231 201 367 509 227 287 163 53 500 376 379 461 178 338 457 98 221 94 96 467 480 462 362 393 410 416 20 377 73 84 356 280 92 314 74 177 106 170 283 240 300 146 405 322 63 198 466 348 359 326 74 383 293 296 221 365 132 194 427 323 357  9 14 458 300 259 23 462 76 400 171 395 195 496 386 194 452 358 437 84 14 205 80 490 181 171 191 86 334 456 108 19 102 46 431 406 120 449 375 406 387 431 342 386 69 169 380 323 431 188 98 74 260 244 176 338 247 62 437 284 244 389 28 386 482  9 181 132 72 148 219 487 151 272 104 460 180 367 236 39 338 478 94 400 31 425 214 350 53 487 462 77 509 256 167 479 501 423 475 355 81 392 377 309 272 493 477 441 485 364 176 362 195 253 446 194 356 448 452 369 498 414 119 362 39 18 167 74 208 71 233 441 322 83 406 500 444 144 102 454 60 168 377 166 341 128 250 231 164 500 296 472 93 31 182 439 122 220 134 51 301 98 272 53 400 126 498 468 395 174 15 81 198 154 13 178 306 203 152 139 262 62 201 17 407 237 271 470 474 86 493 363 198 500 257 209 133 430 250 450 407 97 40  1 160 455 182 26 133 177 158 244 193 356 400 39 18 485 359 227 129 388 309 135 293 146 238 180 283 442 194 258 372 268 344 124 327 237 32 323 100 300 109 45 46 443 310 508 472 192 77 149 301 435 27 493 296 59 283 288 179 494 316 476 378 333 317 186 471 405 298 204 396 259 328 239 65 155 358 426 298 417 289 282 147 349 239 512 463 501 96 135 428 71 273 411 372 169 343 334 249 322 138 74 140 211 438 338 304 10 66 452 71 75 393 336 238 275 97 57 179 94 367 48 305 490 487 55 309 216 189 335 102 223 458 234 399 232 451 180 156 212 198 400 303 228 302 380 48 276 311 238  2 272 432 460 472 452 469 301 217 42 382 109 472 344 416 275 352 215 283 345 154 385 77 444 263 443 284 83 84 317 38 143 379 239 199 163 355 498 321 307 402 39 67 312 375 434 375 432 45 104 354 120 455 153 105 354 154 280 352 380 95 111 376 121 116 242 320 144 448 228 362 89 88 30 88 127 160 424 315 469 329 223 129 32 433 339 221 403 78 58 279 198 282 449 14 99 428 425 88 66 390 226 482  9 223 40 421 236 222 424 250 345 11 160 444  7 264 234 429 389 306 359 223 382 219 51 446 425 60 340 455 218  4 247 143 473 144 250 296 51 167 14 410 18 429 226 20 457 196 485 452 62 39 244 365 266 176 100 447 330 235  7 147 229 404 57 68 302 167 46 203 188 141 239 505 120 339 408 354 494 316 262 423 107 427 238 362 92 37 118 90 374 289 427 404 331 422 246 402 101 450 105 445 314 209 406  7 186 174 60 216 329 498 277 286 423 403 219 151 370 395 242 426 144 90 134  4 211 281 486 265 341 463 253 350 133 275 485 65 142 292 96 13 267 142 149 168 191 45 145 356 381 362 210 66 356 20 503 506 31 38 397 486 302 178 242 121 325 217 282 303 173 104 452 429 32 218 140  9 381 506 365 227 62 413 464 495 508 335 18 442 156 112 357 429 179 265 361 83 313 426 303 351 171 45 238 465 458 69 270 155 274 99 67 171 426 357 343 79 386 279 118 303 88 140 379 12 303 510 508 451 232 119 118 220 370 334 144 451 318 488 333 135  2 314 218 260 238 53 78 343 373 380 272 22 85 339 286 139 90 68 267 383 460 132 62 169 245 412 478 286 121 172 161 254 299 57 13 55 306 173 146 192 509 250 259 460 490 142 362 89 252 480 65 488 217 246 141 182 193 228 113 174 313 112 500 204 424 438 336 54 235 197 16 94 175 73 66 258 414 107 259 130 402 296 84 42 286 137 509 193 404 333 240 411 109 78 497 30 102 161 366 168 411 111 379 506 379 277 326 242 52 441 399 349 405 113 436  8 278 61 150 483 167 510 24 252 427 243 209 368 165 28 465 202 116 178 45 196 503 227 268 139 479 196 320 110 27 403 245 157 135 264 275 57 450 160 87 15 120 308 102 307 330 67 441 311 444 396 341 306 142 29 134 358 114 386 15 335 154 325 180 353 81 382 432 438 288 62 139 258 337 408 500 453 21 43 187 382 231 137 423 452 507 490 446 73 240 235 414 48 461 108 25 12 234 440 116 305 68 394 464 284 44 386 127 390 129 306 176 266 137 194 232 274 188 190 116 380 286 154 260 352 92 403 488 94 144 454 98 349 215 31 107 266 334 391 499 297 10 159 125 187 14 356 446 54 485 471 457 496 253 447 499 428 508 72 141 171 508 33 443 402 125 114 26 389 283 353 319 250 356 54 413 47 170 497 419 333 179 132 166 330 329 208 68 380 377 413 328 165 471 317 264 257 385 490 17 466 444  5 283 413 343 274 358 324 343 424 272 411 92 344 58 33 13 162 216 392 113 398 401 508 222 167 483 111 420 458 300 132 221 129 483 416 82 264 361 156 510 325 109 462 226 503 155 168 76 420  2 503 216 190 104 93 477 259 230 448 167 77 55 189 322 186 105 30 134 277 331 86 313 393 40 237 184 455 440 217 351 501 135 435 149 448 452 128 15 248 311 438 418 316 226 268 31 129 128 479 183 188 166 331 169 171  8 114 237 115 86 496 508 133 465 140 341 137 160 185 458 360 322 406 364 40 183 135 350 261 160 318 171 14 113 328 358 285 22 512 327 82 85 487 392 47 268 74 340 156 141 171 320 242 163 360 470 67 397 211 167 326 296 356 43 319 53 62 296 111 56 141 338 464 184 454 261 348 475 54 330 236 81 117 124 106 208 230 354 231 40 393 211 333 387 427 254 200 231 261 175 392 97 76 63 285 49 39 473 458 187 366 362 63 198 194 309 14 37 301 358 167 405 46 290 143 111 226 121 234 357 332 385  7 369 458 198 34 33 354 469 172 425 143 255 182 125 210 176 349 42 312 491 427 492 13 433 453 468 106 285 50 286 56 199 448 404 380 166 397 299 206 142 114 303 96 423 307 123 479 64  8 481 49 274 416 407  1 59 303 407 57 313 403 244 183 130 239 378 456 32 30 368 205 226 509 415 55 116 91 37 429 34 488 56 413 55 410 246 353 354 192 218 350 511 345  2 11 16 52 259 210 239 367 425 65 194 244 449 313 460 52 429 119 72 215 91 222 479 38 348 30 53 40 44 128 375 373 40 37 279 136 56 111 482 351 437 449 98 285 243 430 396 118 444 190 18 19 202 69 508 427 253 476 438 385 388 101 10 63 112 380  7 308 352 125 88 238 208 166 367 125 182 147 485 449 168 116 231 426 446 335 136 67 388 147 45  9 348 17 290 432 320 290 254 134 56 326 97 455 79 414 274 197 192 62 375 79  2 237 62 226 309 340 324 39 499 103 292 118 135 256 408 100 94 314 507 177 288 52 412 409 60 415 441 480 409 282 42 375 274 448 381 378 36 10 345 468 350 68 315 40 440 463 443 503 265 443 498 262 199 276 84 329 290 457 260 94 490 406 356 457 53 186 316 134 307 491 337 54 166 357 94 300 161 403 251 27 430 492 67 406 231 159 470 203 141 288 76 474 442 351 197 142 350 260 160  3 286 400 493 145 344 421 39 451 381 156 204 408 253 443 121 236 315 126 223 202 140 206 388 85 132 427 180 21 65 481 359 274 17 308 383 77 435 256 335 157 267 198 123  3 280 112 129 268 435 174 487 170 328 273 286 280 365 343 285 158 38 136 51 396 288 436 453 162 431 302 116 251 25 414 435 249 509 72 425 478 29 30 337 445 254 136 228 339 28 25 327 410 406 504 231 487 266 418 380 279 343 357 312 455 359 200 107 304 399 354 97 414 492 451 324 241  4 380 128 296 303 420 253 155 461 95 100 282 41 423 97 169 230 185 147 157 243 60 184 55 424 446 226 292 124 376 439 306 261 145 153 315 178 161 423 32 155 447 316 241 448 505 372 254 232 324 394 273 270 194 156 468 277 327 226 64 20 195 112 99 225 286 436 496 428 361 56 303 420 85 215  6 151 242 381 67 113 31 109 380 50 202 373 220 118 422 116 147 415 230 215 310 45 267 392 163 491 310 323 218 143 177 484 489 24 302 13 284 246 56 85 487 392 490 429 293 437 407 53 238 275 284 330 144 91 79 504 92 486 407 338  2 114  1 151 307 435 218 463 336 467 138 400 353 148 463 356 296 283 69 366 296 226 493 200 379 182 468 330 179 143 467 375 44 260 383 356 245 344 18 93 173 285 150 37 306  3 162 302 13 77 83 392 219 36 121 382 57 275 374 407 351 397 352 262 277 270 263 133 422 426 67 266 147 453 497 454 306 318 253 445 448 234 197 122 70 486 314 275 419 443 100 427 406 431 368 365 264 143 419 449 291 496 186 156 46 362 449 463 152 270 230 132 304 172 277 233 364 137 494 257 158 443 444 152 488  6 321 383 437 448 332 285 340 300 301 262 289 276 462 334 331 94 146 479 171 175 180 476 495 225 335 481 204 357 460 268 310 402 40 17 132 20 340 347 155 457 263 328 342 261 136 391 127 412 175 325 271 24 304 36 171 231 280 35 440 204 431 238 18 58 459  7 184 86 22 59 195 421 375 456 365 161 71 489 472 155 215 442 161 414 71 221 311 388 17 326 338 199 474 62 334 463 249 46 464 416 52 264 322 10 468  8 118 39 356 482 30 132 395 174 75 269 66 423 109 312 141 39 307 430 426  2 195 461 73 476 326 441 436 358 36 119 503 458 398 395 
		];
	end
	phi = sparse(p, m, 1, M, N);


	A = phi*psi;


	% output file
	fp = fopen('cs_result.csv', 'w');

	% iteratively parse data
	for k=0:row_needed:rows-row_needed
		fprintf('Progress: %.2f %%\n', k*100/rows);
		pdata=data([k+1:k+row_needed],[3:cols]);
	
		y = reshape( pdata', M*2, 1 );
		y = int16(y);
		y = typecast(y, 'int32');
		x = zeros(M,1);
		for i=1:M
			x(i,1) = y(i,1);
		end


		%remove -1 from both signal and matrices
		x_new = [];
		A_new = [];
		for i=1:M
			if x(i,1) != -1
				x_new = [x_new ; x(i,1)];
				A_new = [A_new ; A(i,:)];
			end
		end



		%reconstruct
	%	x0 = (A')*y;
	%	s = l1eq_pd(x0, A, [], y, 1);
		s=SL0(A_new, x_new, 0.004);
		s = psi * s;
		recon_s = [recon_s;s];

		fprintf(fp,'%f,%f', data(k+1,1), data(k+1,2));
		for i=1:length(s)
			fprintf(fp,',%d',s(i,1));
		end
		fprintf(fp,'\n');
	end


	fclose(fp);

%	err = 0;
%	for i=1:N
%		fprintf('%d\n',s(i,1));
%		if abs(true_s(i,1)) > eps
%			err = err + single(abs(true_s(i,1)-s(i,1)))/single(abs(true_s(i,1)));
%		end
%	end
%	fprintf('Distortion: %f\n', err/N);
end
